Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

使用多个提交脚本时如何避免潜在冲突

使用多个提交脚本时,每个脚本都会评估原始 候选配置文件 。一个脚本所做的更改不会由其他脚本评估。这意味着,首次将脚本应用于配置时,可能无法解决脚本之间的冲突。提交脚本按照它们在层次结构级别列出的 [edit system scripts commit] 顺序执行, 如图 1 所示。

图 1:通过多个提交脚本 Configuration Evaluation by Multiple Commit Scripts进行配置评估

作为提交脚本之间冲突的示例,假设创建了提交脚本 A.xsl ,以确保设备使用 IP 地址为 192.168.0.255 的域名服务器。稍后,DNS 服务器的地址更改为 192.168.255.255,并添加了第二个脚本 B.xsl,以检查设备是否使用该地址的 DNS 服务器。但是,不会删除或禁用脚本 A.xsl

由于每个提交脚本都会评估原始候选配置,因此执行脚本 A.xslB.xsl 的最终结果取决于在原始候选配置中配置的 DNS 服务器地址。如果配置了现已过时的地址 192.168.0.255,则脚本 B.xsl 会将其更改为 192.168.255.255。但是,如果配置了正确的地址 192.168.255.255,则脚本 A.xsl 会将其更改为不正确的值 192.168.0.255。

作为提交脚本之间潜在冲突的另一个示例,假设提交脚本使用该属性保护 protect 层次结构。如果第二个提交脚本尝试修改或删除层次结构或层次结构中的语句,Junos OS 会在提交过程中发出警告并阻止配置更改。

请注意确保不会在脚本之间引入冲突,如示例中描述的那些。作为检查与持久更改冲突的方法,您可以发出两个单独的 commit 命令。