Cisco IOS - kron / archive / rollback / diff



 ◆ kronコマンド - IOSコマンドスケジューラ

 Cisco IOSでは、kronコマンドを使用することでIOS上でのコマンドを自動的に実行することができます。
 kronコマンドにより、定期的にまたは指定時刻に、1つまたは複数のコマンドを自動的に実行できます。
 ※ インタラクティブ形式のコマンドは、kronコマンドではなくてEEMを用いることで自動実行できます。

 
◆ kronコマンド - コマンドスケジューラ
 (config)#
kron policy-list name
 (config-kron-policy)#
cli command
 ⇒「cli」の後に実行したいコマンドを1つ、または複数入力します。

 (config)#
kron occurrence name [ at | in ] [ recurring | oneshot ]
 ⇒ "at"を指定した場合は実行時間を指定します。"in"を指定した場合は実行間隔を指定します。
 ⇒ "recurring"を指定した場合は永続的に実行され、"oneshot"を指定した場合は1回だけ実行します。

 (config-kron-policy)#
policy-list name
 ⇒ 実行するkronコマンドのポリシー名を指定する。kron policy-listで指定したポリシー名を指定します。


 毎日20時に"show running-config"を実行し、running-configの情報をTFTPサーバ「 192.168.0.10 」に
 "R1.txt"というファイル名でアップロードする設定例は以下のようになる。事前に「terminal length 0」の
 コマンドを実行しなくても「More」を表示させることなく、コマンドの実行結果を取得することができます。


 
R1(config)# kron policy-list RUNCONFIG
 R1(config-kron-policy)# cli show running-config | redirect tftp://192.168.0.10/R1.txt

 R1(config)# kron occurrence KRON-TIME at 20:00 recurring
 R1(config-kron-occurrence)# policy-list RUNCONFIG


 ※ 時刻指定のKRON実行を行うためには、NTPサーバと同期が取れているか、clocl setで時刻を設定している必要があります。


 ファイルの情報を上書きできるものの、ファイルに追記できないTFTPサーバを使用する場合、以下の設定
 のようにkron policy-listを2行設定して、ファイル名を分ければ2つの情報を同時に取得することができます。
 
※ 3CDaemonをTFTPサーバとして使用する場合、ファイル上書きのためには "Allow overwrite of existing files?"をチェック。

 

 
sh kron schedule でkronで定義したコマンドがいつ実行されるのか、debug kron all で kron が適正に動作しているのか分かる。



 ◆ archiveコマンド - コンフィグアーカイブ機能

 archiveコマンドでコンフィグ情報を世代管理することができます。また、"write-memory"のオプション
 の設定により、copy run start や write memory入力時に自動的に世代化されたコンフィグが作成されます。

 例えば、Flashメモリ配下に"archive"という名前のディレクトリを作成して、そのディレクトリ内に"R1"の
 ファイル名でコンフィグを世代管理していく設定は以下。copy run startの度にコンフィグがバックアップ
 されます。また、maximumコマンドで何世代までコンフィグを管理するのかを指定できます。ここでは"3"。


 R1#mkdir archive

 
R1(config)# archive
 R1(config-archive)# path flash:/archive/R1
 R1(config-archive)# maximum 3
 R1(config-archive)# write-memory


 バックアップされたコンフィグに世代ごとに、以下のようにファイル名(R1)の後に数字が付加されていく。

 


 過去に設定保存されたコンフィグを参照したい場合、作成したディレクトリパスを指定しmoreコマンドを使用。

 



 以下のように"time-period"コマンドで指定することで、自動的にコンフィグアーカイブを保存できます。
 以下の設定の場合は、1440分=24時間と指定しているので、24時間ごとに自動的にバックアップされます。


 R1#mkdir archive

 
R1(config)# archive
 R1(config-archive)# path flash:/archive/R1
 R1(config-archive)# maximum 3
 R1(config-archive)# write-memory
 R1(config-archive)# time-period 1440



 バックアップするファイルは、FLASHメモリではなく以下のようにTFTPサーバを指定することもできます。


 
R1(config)# archive
 R1(config-archive)# path tftp://192.168.0.10/R1
 R1(config-archive)# maximum 3
 R1(config-archive)# time-period 1440


 上記のように、TFTPサーバやFTPサーバを指定して定期的にバックアップを取る場合、そのTFTPサーバに
 どんどんファイルが生成されていくので、最新のコンフィグだけを定期的に取得したい場合は、kron により
 実行することが推奨です。また、archiveする場合はコンフィグはFLASHメモリに保存する事をお勧めします。



 ◆ configure replaceコマンド - ロールバック機能

 現在のrunning-configの設定ファイルと、例えばFLASHメモリに保存していたコンフィグの設定ファイルを
 交換 (configure replace)することができます。いわゆるrollback機能です。copyコマンドによる操作では
 設定ファイルがrunning-configに追加していくのに対し、configure replaceコマンドでは、running-config
 とリプレース元の設定ファイルと差分比較して、差分のみを running-config に適用するので、より安心な
 設定の切り戻しが行える。以下の設定は、現在の「running-config」のコンフィグを"R1-1"のコンフィグに
 置き換えるコマンドです。

 

 Rollbackが行われると、その際にコンフィグレーションのロックが行われるので、以下が出力されます。

 
Rollback:Acquired Configuration lock.
 PARSER-6-EXPOSEDLOCKRELEASED: Exclusive configuration lock released from terminal '0' -Process= "Exec", ipl=0, pid=3
 PARSER-3-CONFIGNOTLOCKED: Unlock requested by process '3'. Configuration not locked.



 ◆ Diff コマンド - running-config と startup-config の差分チェック

 以下のように show archive config differences nvram:startup-config system:running-config コマンドで
 startup-configに対しrunning-configがどのような設定状態であるのかを確認できます。つまり差分チェック。

 

 設定削除したコンフィグは(-)と左側に表示されて、設定追加したコンフィグは(+)と左側に表示されます。
 例では以下の設定を行ったことが分かります。設定保存(write memory)すれば当然、差分はなくなります。

 ip route 172.16.4.0 255.255.255.0 192.168.0.1
 no ip route 172.16.3.0 255.255.255.0 192.168.0.1



Cisco IOSコマンド解説

ネットワークエンジニアとして

Copyright (C) 2002-2024 ネットワークエンジニアとして All Rights Reserved.