同步路由引擎之间的脚本
从 Junos OS 版本 13.2 开始,您可以在运行 Junos OS 的设备上的路由引擎之间手动同步提交、事件、lib、op 和 SNMP 脚本,或者配置设备在提交并同步配置时,自动同步路由引擎之间的脚本。
load-scripts-from-flash
如果为请求路由引擎配置了语句,设备将同步闪存中的脚本。否则,设备将同步硬盘上的脚本。如果响应load-scripts-from-flash
路由引擎的最终配置中存在语句,则脚本会同步到闪存。否则,脚本将同步到硬盘。无论该脚本是在配置中启用还是自上次同步后已更新,设备都将同步脚本。
以下部分概述了同步脚本的不同方法:
在用于提交同步操作的路由引擎之间配置脚本同步
每次发出 commit synchronize
提交和同步配置的命令时,您可以配置运行 Junos OS 的设备,将所有提交、事件、lib、op 和 SNMP 脚本从请求路由引擎同步到其他路由引擎。
要在操作期间 commit synchronize
在路由引擎之间自动同步脚本:
发出第一个命令和后续 commit synchronize
命令时,设备对请求的路由引擎执行提交检查,将所有脚本同步到其他路由引擎,同步、执行提交检查,并在响应的路由引擎上提交配置,最后在请求的路由引擎上提交配置。如果请求的路由引擎的提交检查操作失败,进程将停止,并且脚本不会复制到响应的路由引擎。如果响应的路由引擎的提交检查或提交操作失败,则脚本仍然可以同步,因为同步发生在响应路由引擎上的提交检查操作之前。
配置语 synchronize
句会导致设备同步所有脚本,即使自上次同步以来尚未更新。如果设备的脚本数量不频繁更新,则可能更适合使用 request system scripts synchronize
操作模式命令手动同步脚本,或者使用 commit synchronize scripts
命令按提交同步脚本。
按提交在路由引擎之间同步脚本
提交并同步配置时,您可以使用 commit synchronize scripts
命令将所有提交、事件、lib、op 和 SNMP 脚本从请求路由引擎同步到运行 Junos OS 的设备上的其他路由引擎。这是在每次执行 commit synchronize
操作时配置设备同步脚本的替代项。
要按提交在路由引擎之间同步脚本:
发出 commit synchronize scripts
命令时,设备对请求的路由引擎执行提交检查,将所有脚本同步到其他路由引擎,同步,执行提交检查,并在响应的路由引擎上提交配置,最后在请求路由引擎上提交配置。如果请求的路由引擎的提交检查操作失败,进程将停止,并且脚本不会复制到响应的路由引擎。如果响应的路由引擎的提交检查或提交操作失败,则脚本仍然可以同步,因为同步发生在响应路由引擎上的提交检查操作之前。
从操作模式在路由引擎之间同步脚本
您可使用 request system scripts synchronize
操作模式命令手动将请求路由引擎的脚本同步到运行 Junos OS 的设备上的其他路由引擎。您可以同步单个脚本、特定类型的所有脚本或设备上的所有脚本。您还可以选择根据文件名或文件的时间戳同步脚本。
要在路由引擎之间手动同步脚本,请发出 request system scripts synchronize
命令并使用所需的选项。
user@host> request system scripts synchronize (all | commit | event | lib | op | snmp) <file filename> <newer-than time>
指定all
要将请求路由引擎上存在的所有脚本同步到响应的路由引擎。指定commit
、event
lib
、op
或snmp
同步给定类型的所有脚本到其他路由引擎。file
包括可缩小范围以仅将脚本与指定文件名或日期标准同步的选项newer-than
或选项。争论的newer-than
格式是 YYY-MM-DD。HH:MM:SS。
例如,以下命令可同步比 2012-05-15 更新的所有提交、事件、lib、op 和 SNMP 脚本:
user@host> request system scripts synchronize all newer-than 2012-05-15
以下命令可将单个操作脚本与文件名 vpn-info.slax 同步。
user@host> request system scripts synchronize op file vpn-info.slax
例如,如果请求同步不存在的脚本,或者响应的路由引擎当时无法处理请求,则同步操作可能会失败,因为它正在执行其他 CPU 密集型操作。如果同步操作失败,设备将生成错误消息。
以下命令请求同步单个事件脚本,但脚本不存在于事件脚本目录中,因此设备会出错。
user@host> request system scripts synchronize event file nonexistent-file.slax
error: Invalid directory: No such file or directory warning: No script will be pushed to other RE
以下命令请求同步单个事件脚本,但响应的路由引擎没有执行同步的资源,因此设备出错。设备还会记录系统日志文件中出现UI_SCRIPTS_COPY_FAILED错误,错误的严重性级别为 。
user@host> request system scripts synchronize event file ospf-neighbor.slax
error: Unable to copy scripts to re: re1
刷新后在路由引擎之间同步脚本
您可通过远程 URL 手动刷新单个脚本,然后使用 request system scripts refresh-from
操作模式命令和 sync
选项,将更新的脚本同步到运行 Junos OS 的设备上的其他路由引擎。
要从远程源手动刷新单个脚本,然后将脚本同步到其他路由引擎,请使用 sync
选项发出 request system scripts refresh-from
命令,然后指定脚本类型、文件名和远程 URL。将 URL 指定为 HTTP URL、FTP URL 或安全复制 (scp) 风格的远程文件规范。
user@host> request system scripts refresh-from (commit | event | op | snmp) file filename url url sync
系统使用脚本类型来确定脚本所在的设备上的目录。如果路 load-scripts-from-flash
由引擎的配置中存在语句,系统将刷新闪存中的脚本。否则,系统会刷新硬盘上的脚本。