手当たり次第に書くんだ

飽きっぽいのは本能

Cisco KRON の使い方 – IOS で定期コマンドを実行する

Cisco KRON は、Cisco IOS で EXEC コマンドを定期実行するためのスケジューラーです。名前だけ聞くと Linux の cron と混同しているように見えますが、Cisco IOS に実際に存在する機能です。

ただし、KRON は高度な自動化基盤ではありません。機器単体で、決まった時刻や間隔で、単純な EXEC コマンドを実行したい場合に使う機能として理解するのが自然です。

KRON は Cisco IOS の簡易コマンドスケジューラーです。kron policy-list で実行するコマンドを定義し、kron occurrence で実行タイミングを指定します。複雑な条件分岐やイベント連動は、KRON より EEM の領域です。

KRON でできること

KRON は、あらかじめ定義した EXEC コマンドを、指定した時刻、一定間隔、または起動後に実行できます。用途としては、非常に単純な定期実行に向いています。

  • 定期的に write memory を実行する。
  • 定期的に特定の show コマンドを実行する。
  • 単純な保守用コマンドを一定間隔で実行する。
  • 機器単体で完結する軽い自動実行を行う。

一方で、条件判定、複雑なログ処理、イベント駆動の制御、外部システムとの連携は得意ではありません。そのような用途では EEM や外部の運用自動化ツールを検討した方がよいです。

policy-list と occurrence の関係

KRON の基本は、実行するコマンドを定義する kron policy-list と、実行タイミングを定義する kron occurrence の組み合わせです。

  • kron policy-list: 実行する EXEC コマンドをまとめる。
  • kron occurrence: いつ、どの policy-list を実行するかを指定する。

定期的に write memory を実行する例

次は、write memory を定期実行する例です。実際にこの運用が良いかどうかは別として、KRON の構造を理解する例として分かりやすいです。

kron policy-list SAVE_CONFIG
 cli write memory

kron occurrence SAVE_CONFIG_DAILY at 3:00 recurring
 policy-list SAVE_CONFIG

kron policy-list SAVE_CONFIG で実行内容を定義し、kron occurrence SAVE_CONFIG_DAILY で毎日 3:00 に実行するようにしています。

一定間隔で実行する例

一定間隔で実行したい場合は、inrecurring を使います。

kron policy-list SHOW_CLOCK
 cli show clock

kron occurrence SHOW_CLOCK_EVERY_60 in 60 recurring
 policy-list SHOW_CLOCK

この例では、60 分ごとに show clock を実行します。ただし、show コマンドの結果をどこに保存するのか、どう確認するのかまで考えないと、実運用上の意味は薄くなります。

状態確認

KRON の設定と実行予定は、次のようなコマンドで確認します。

show running-config | section kron
show kron schedule

設定を投入したら、policy-list と occurrence の紐付けが正しいか、次回実行時刻が想定通りかを確認します。

KRON と EEM の違い

KRON は時刻や間隔を起点にコマンドを実行する単純なスケジューラーです。EEM は、syslog、SNMP、interface 状態、timer などのイベントを契機にアクションを実行できます。

  • 時刻ベースの単純実行なら KRON で足りる場合があります。
  • イベントに反応して処理したい場合は EEM の方が自然です。
  • 複雑な判断や外部連携が必要なら、機器単体ではなく運用基盤側で制御する方が安全です。

使いどころ

私が KRON を知ったのは 2012 年頃ですが、その後ネットワーク業界に近いところにいても、実運用で頻繁に聞く機能ではありませんでした。おそらく、大規模な運用では外部の管理基盤や自動化基盤で制御することが多く、KRON は機器単体で完結する小規模な用途に寄るためだと思います。

それでも、機器単体で軽い定期実行をしたい場面では、知っていると選択肢になります。逆に、何でも KRON で済ませようとすると、設定の見通しや運用責任が曖昧になります。

注意点

  • 破壊的なコマンドや通信断を起こすコマンドを KRON で実行しない。
  • 実行結果の確認方法を決めてから使う。
  • 設定変更を自動化する場合は、バックアウト手段を別に用意する。
  • 複雑な条件分岐が必要な場合は EEM や外部自動化を検討する。

まとめ

Cisco KRON は、Cisco IOS 上で EXEC コマンドを定期実行するための簡易スケジューラーです。kron policy-list で実行内容を定義し、kron occurrence で実行タイミングを指定します。

便利ではありますが、用途は限定的です。時刻ベースの単純な定期実行なら KRON、イベント連動なら EEM、複雑な運用自動化なら外部基盤、と役割を分けて考えるのがよいです。

参考書籍

参考
書籍
参考書籍
マスタリング TCP/IP 入門編 第6版

ネットワーク機器の設定や TCP/IP の基礎を体系的に確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。

Amazon で見る

このリンクは Amazon アソシエイトリンクです。

関連する記事

関連する記事
Cisco KRON の使い方 – IOS で定期コマンドを実行する

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る