将脚本存储在闪存中
默认情况下,Junos OS 自动化脚本在适合脚本类型的子方向下,从设备硬盘的 /var/db/scripts 目录中存储和执行。或者,您可以将自动化脚本存储在设备的闪存内存中并执行。如果硬盘发生故障,将脚本存储在闪存内存会降低故障的影响,因为您仍然可以访问和执行脚本。闪存分区通常较小,还会存储设备的活动配置、后三个提交的配置以及救援配置(如果存在)。在闪存内存中存储脚本之前,请确保有足够的空间来执行此操作。
要指示运行 Junos OS 的设备从闪存存储中加载脚本,请在[edit system scripts]
层次结构级别配置load-scripts-from-flash
语句:
[edit] user@host# set system scripts load-scripts-from-flash
配置 load-scripts-from-flash
语句时,所有提交、事件、操作、SNMP 和脚本库脚本均在适合脚本类型的子方向下的闪存内存中的 /config/scripts 目录中加载。您必须手动将脚本从硬盘移至闪存。它们不会自动移动。同样,如果从配置中删除语 load-scripts-from-flash
句,则必须手动将脚本从闪存复制到硬盘,以确保执行当前版本的脚本。更改脚本的物理位置不会影响其操作。
系统使用/var/run/scripts 目录作为查找当前脚本集的方法。此路径使用象征性链接引用硬盘上的 /var/db/scripts 目录,或根据语句的load-scripts-from-flash
当前设置在闪存中引用 /config/scripts 目录。如果不配置load-scripts-from-flash
语句,/var/run/scripts 会参考设备硬盘上的 /var/db/scripts 目录。如果配置语load-scripts-from-flash
句,/var/run/scripts 将参考闪存中的 /config/scripts 目录。
user@host> file list detail /var/run/scripts lrwxr-xr-x 1 root wheel 16 May 9 09:51 /var/run/scripts@ -> /var/db/scripts/
要查看设备上的脚本,请列出 /var/run/scripts/type的内容,其中的 type 子方向适合脚本类型。在以下示例中 load-scripts-from-flash
,未配置语句。在这种情况下,列出 文件的 /var/run/scripts/commit 将文件退回 /var/db/scripts/commit directory 中。
user@host>file list /var/run/scripts/commit /var/run/scripts/commit: commit-changes-load-replace.slax commit-protect.slax
user@host> file list /var/db/scripts/commit /var/db/scripts/commit: commit-changes-load-replace.slax commit-protect.slax
user@host> file list /config/scripts/commit /config/scripts/commit: