配置并使用脚本的主源位置
您可以将每个脚本的主副本存储在中央存储库中。这简化了文件管理,因为您可以在一个位置对主脚本进行更改,然后在当前启用脚本的每个设备上更新副本。本节讨论如何配置脚本的主源位置以及如何刷新脚本的本地副本。
为脚本配置主源
要为单个脚本的主副本指定源位置:
source
配置中包含语句不会影响脚本的本地副本,直到发出
set refresh
命令。此时,设备将从指定 URL 检索主副本并覆盖本地副本。
配置用于从主源更新脚本的路由实例
在 Junos OS 18.1R1 版之前,可以使用默认管理界面从主源更新脚本。但是,从 Junos OS 17.3R1 版开始,您可以将管理接口限制在非默认虚拟路由和转发 (VRF) 实例中,以便管理流量不再需要与其他控制或协议流量共享路由表。从 Junos OS 18.1R1 版开始,您可以指定要用于从主源刷新或下载提交、事件、JET、op 或 SNMP 脚本的路由实例。此路由实例可以是非默认管理实例 mgmt_junos
,也可以是其他路由实例。
您必须配置指定的路由实例,以在 [edit system routing-instances]
层次结构级别更新脚本。
要使用 mgmt_junos
主源更新脚本:
要使用已配置的管理界面从主源更新脚本,只能 mgmt_junos
为 routing-instance-name
。要使用非管理接口,可以为 .配置任何内容 routing-instance-name
。
另请参阅
从主源更新脚本
如果为设备上的一个或多个脚本配置主源,则可以使用 set refresh
配置模式命令刷新该设备上的脚本。您可以更新配置了主源位置的单个脚本或给定脚本类型的所有脚本。
发出命令后,set refresh
将立即执行更新操作。发出set refresh
命令时,设备会立即尝试连接到指定的 URL 并检索主文件的副本。主副本会覆盖存储在设备上的脚本目录中的本地脚本。如果配置了语句load-scripts-from-flash
,设备将更新闪存驱动器上的脚本,而不是硬盘上的脚本。如果未为脚本定义主源,则不会更新该脚本并发出警告。对于提交脚本,将在您下一次发出命令时执行更新的commit
提交脚本。如果脚本配置包含语句routing-instance
,则 Junos OS 会使用该路由实例更新脚本。
set refresh
发出命令不会将refresh
语句添加到配置中。因此,命令通过执行操作而非向配置添加语句,即可像操作模式命令一样运行。
命令 set refresh
在 Junos OS CLI 中是唯一的,因为它的行为类似于操作模式命令,但可以从配置模式执行。所有其他 Junos OS CLI 操作模式命令只能在命令模式下执行。为方便开发提交脚本的用户,以这种方式提供该功能。
如果设备具有双路由引擎,并且想要更新两个路由引擎上的脚本,则必须针对每个路由引擎单独发出set refresh
命令。或者,您可以刷新正在请求的路由引擎上的脚本,然后使用操作模式命令将脚本同步到其他路由引擎,或者使用request system scripts synchronize
commit synchronize scripts
配置模式命令在提交并同步配置时使用配置模式命令将所有脚本同步到其他路由引擎。
要从其主源更新单个脚本,请 set refresh
从配置脚本的层次结构级别发出命令。层次结构位置取决于脚本类型和文件名,如以下示例所示。 source
指定主源位置的语句必须已配置。
[edit event-options event-script file filename] user@R1# set refresh
[edit system extensions extension-service application file filename] user@R1# set refresh
[edit system scripts commit file filename] user@R1# set refresh
[edit system scripts op file filename] user@R1# set refresh
[edit system scripts snmp file filename] user@R1# set refresh
要从其主源代码文件中更新给定脚本类型的所有已启用脚本,请 set refresh
为该脚本类型的层次结构级别发出命令。
[edit event-options event-script] user@R1# set refresh
[edit system extensions extension-service application] user@R1# set refresh
[edit system scripts commit] user@R1# set refresh
[edit system scripts op] user@R1# set refresh
[edit system scripts snmp] user@R1# set refresh