Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

控制提交操作期间提交脚本的执行

提交脚本存储在 /var/db/scripts/commit 目录中的设备硬盘上,或存储在 /config/脚本/commit 目录中的闪存驱动器上。只有 Junos OS 超级用户登录类中的用户才能访问和编辑这些目录中的文件。有关设置脚本的存储位置的信息,请参阅在闪存内存中 存储和启用 Junos 自动化脚本将脚本存储

提交脚本不会在提交操作期间实际执行,除非其文件名包含在 [edit system scripts commit file] 层次结构级别。配置脚本文件名时,必须为 SLAX (.slax) 和 Python (.py) 脚本包括适当的文件名扩展。XSLT 脚本不需要文件名扩展名,但我们强烈建议您附加 .xsl 扩展,以便了解清楚。要防止执行提交脚本,请删除该层级的提交脚本文件名。

默认情况下,提交操作将失败,[edit system scripts commit file]除非在层次结构级别包含的所有脚本实际存在于提交脚本目录中。要使提交操作即使在脚本丢失时也成功,请将语句optional[edit system scripts commit file filename]包含在层次结构级别。例如,如果您预计需要通过从提交脚本目录中删除来快速将其从操作中移除,但不想在层次结构级别中移除提交脚本文件名[edit system scripts commit file],则可能需要将脚本标记为可选。要以后再次使用脚本,只需替换提交脚本目录中的文件。

谨慎:

在层次结构级别包含 optional 语句 [edit system scripts commit file filename] 时,如果文件不存在,在提交操作期间不会生成任何错误消息。因此,您可能不知道脚本没有按预期执行。

您还可以通过发出和配置模式命令deactivate停用和activate重新激活提交脚本。提交脚本停用时,脚本在配置中将被标记为非活动,且不会在提交操作期间执行。重新激活提交脚本时,将在提交操作期间再次执行该脚本。

要确定设备上当前启用了哪些提交脚本,请使用 show 命令显示在层次结构级别上配置 [edit system scripts commit] 的文件。为了确保已启用的文件在设备上,请使用操作模式命令列出 /var/run/scripts/commit/ 目录 file list /var/run/scripts/commit 的内容。

启用提交脚本在提交操作期间执行

要配置在提交操作期间执行的提交脚本:

  1. 确保提交脚本位于正确的目录中:
    • /var/db/脚本/ 硬盘上的 commit 目录

    • /config/脚本/ 闪存驱动器上的 commit 目录

    有关脚本存储位置的更多信息,请参阅在闪存内存中存储和启用 Junos 自动化脚本和存储脚本。

  2. 通过在层次结构级别包含语句[edit system scripts commit]file filename启用提交脚本。只有属于 Junos OS super-user 登录类的用户才能启用提交脚本。
    • filename-提交脚本的名称。

    • optional- 当脚本文件在脚本目录中不存在时,请启用提交操作。如果省略此语句,则提交操作将失败(如果脚本不存在)。

  3. 对于未签名的 Python 脚本,请确保满足以下要求:
    • 文件所有者可以是 Junos OS super-user 登录类中的 root 用户。

    • 只有文件所有者对文件拥有写权限。

    • language pythonlanguage python3语句在[edit system scripts]层次结构级别上配置。

    注意:

    从 Junos OS 16.1R3 版开始,Python 脚本可由 root 或 Junos OS 超级用户登录类的用户拥有。在 Junos OS 16.1R2 及之前版本中,Python 脚本必须由 root 用户所有。

  4. 提交配置。

防止提交脚本在提交操作期间执行

通过在配置中从层次结构中移除脚本的文件名 [edit system scripts commit] ,可以防止提交脚本在提交操作期间执行。

注意:

您还可以使用 deactivate 语句停用脚本,而不是从配置中移除脚本的文件名。停用的脚本可在以后重新激活。

要防止提交脚本在提交操作期间执行,

  1. 删除配置中层级的 [edit system scripts commit] 提交脚本文件名。
  2. 提交更改。
  3. (可选)从设备上的 commit 脚本目录中移除提交脚本。

    虽然不需要从提交脚本目录中删除提交脚本,但从系统中删除未使用的文件始终是一个好策略。

停用提交脚本

停用提交脚本将导致其被标记为 inactive 在配置中,并在提交操作过程中被忽略。您可以使用 activate 语句重新激活脚本。

要停用提交脚本,使其不在提交操作期间执行:

  1. deactivate发出命令。
  2. 提交更改。
  3. 验证提交脚本是否已停用。

激活提交脚本

停用提交脚本将导致其在配置中标记为非活动,因此不会在提交操作期间执行。

要激活非活动提交脚本:

  1. activate发出命令。
  2. 提交更改。
版本历史记录表
释放
描述
16.1R3
从 Junos OS 16.1R3 版开始,Python 脚本可由 root 或 Junos OS 超级用户登录类的用户拥有。