Junos的Commit命令

有别于H3C、Cisco的CLI,Juniper 设备在配置模式下面做了更改是不会立即生效的,需要在配置模式下面敲入commit命令提交才能生效。个人认为这算是JunOS CLI的一个好用的功能。玩法如下。

需求一、给每次变更加个注释
            变更完成后,执行 commit comment <注释内容>,系统会自动给这次commit记录一条注释信息,需要查看的话,执行show system commit即可,输出如下 
            1 2017-06-10 21:39:25 CST by  <登录用户名>  via cli  <注释内容>
            每一次变更的内容一目了然。

需求二、只检查配置的正确性,不让配置生效
            执行commit check 即可

需求三、让更改提交在指定的时间点生效
           commit at "YYYY-MM-DD HH:MM:SS"
         
出现类似如下提示表明定时器生效
          configuration check succeeds 
          commit at will be executed at 2006-12-31 23:59:59 CST 
          The configuration has been changed but not committed 
          Exiting configuration mode 
          
例如,我需要删除一条不用的策略,但是现在还有业务在跑,需要等明天凌晨六点之后再删。对付这种需求,commit at命令就非常好用。
           已经设置定时但是尚未执行的配置提交被Juniper称为Pending commit,执行show system commit,最上面一行会显示
          commit requested by admin via cli at 2017-06-11 06:00:00 CST
   
这种情况下,设备的配置文件会被锁定,再执行commit命令会直接报错。
    [edit]

   georg@warsaw# commit
    error: Another commit is pending 
   
如果这时需要取消定时提交怎么办呢?执行下面一条命令就可以了。
   clear system commit

需求四、配置提交后自动回滚(敲黑板,划重点了!)
         几乎每个网络工程师都有远程配设备翻车把自己关外面的经历,例如给H3C的设备配置AAA认证,稍有不慎,你就可以提着Console线去一趟机房了。Junos的配置更改和生效并不是同步发生的,我们只要在commit命令后面加上confirmed参数,如果没有收到二次确认,设备就会在指定的时间后自动回滚配置,防止配置提交后把自己关外面的情况。具体命令为:
         commit confirmed <分钟数>
  
验证配置无误后,要进行二次确认,直接再commit一次就ok了,自动回滚会被取消掉,配置就永久生效了。

参考资料:
https://www.juniper.net/documentation/en_US/junos/topics/task/configuration/junos-software-commit-operation-scheduling.html
https://kb.juniper.net/InfoCenter/index?page=content&id=KB8708

发表评论

电子邮件地址不会被公开。 必填项已用*标注