◆ 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
|