控制提交操作期间提交脚本的执行
提交脚本存储在 /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
的内容。
启用提交脚本在提交操作期间执行
要配置在提交操作期间执行的提交脚本:
防止提交脚本在提交操作期间执行
通过在配置中从层次结构中移除脚本的文件名 [edit system scripts commit]
,可以防止提交脚本在提交操作期间执行。
您还可以使用 deactivate
语句停用脚本,而不是从配置中移除脚本的文件名。停用的脚本可在以后重新激活。
要防止提交脚本在提交操作期间执行,
停用提交脚本
停用提交脚本将导致其被标记为 inactive
在配置中,并在提交操作过程中被忽略。您可以使用 activate 语句重新激活脚本。
要停用提交脚本,使其不在提交操作期间执行:
激活提交脚本
停用提交脚本将导致其在配置中标记为非活动,因此不会在提交操作期间执行。
要激活非活动提交脚本: