「schedule atコマンドの利用例」(河野哲治氏)

皆さんこんにちは、テックデザインの河野です。

できるだけ自動化や省力化をしたい私はヤマハルーターの「schedule at」コマンドがお気に入りです。使えるコマンドには制限があるものの、アイデア次第で色々な活用ができますし、まだ見ぬ驚異の活用方法もあるのではないかと思っています。今回はschedule at設定例として、実際に私が使っている設定の一部を紹介します。

NTPサーバーとの同期

定番ですね。私はルーター起動時と毎日1回定時に時刻合わせをするようにしています。定時同期はNTPサーバへのトラフィックが集中しなさそうな、深夜帯のキリの悪い時刻にしています。ヤマハルーターはデフォルトでSNTPサーバーが動作しているので、きちんと時計を合わせておけばLAN内端末のNTPサーバーとして利用できます。セキュリティ上の理由でインターネット接続が許可されていない端末でも正確な時刻合わせができるので重宝しています。

schedule at 1 startup * ntpdate ntp.nict.jp schedule at 2 */* 04:17 * ntpdate ntp.nict.jp

CONFIGの自動保存

LANマップ機能のひとつに、L2MSスレーブ機器のCONFIGを保存する機能があります。保存操作はLANマップのGUIだけでなくCUIコマンドも用意されているため、schedule atに組み込むと自動でCONFIGをバックアップできます。CONFIGをGUIでしか取り出せないWLX202などの機器も、いったんルーターへCONFIGを保存すればTFTPでCONFIGを取り出せるので、世代管理をしたりdiffを取ったりしやすくなります。下記は全ての無線アクセスポイントとスイッチのCONFIGを毎日午前2時に保存する設定です。

schedule at 3 */* 02:00 * ap control config get schedule at 4 */* 02:00 * switch control config get

デフォルトのCONFIGの保存先はRTFS領域で、スイッチは /sw_config、無線アクセスポイントは /ap_configですが、任意の場所に変更することもできます。switch config directoryやap config directoryコマンドを使うと、micorSDカードやUSBフラッシュメモリなど外部メモリを保存先に指定することも可能です。CONFIGの取り出しにCUIを使うことが難しかったり、面倒だったりする場合は保存先を外部メモリにすると便利かもしれません。

switch config directory sd1:/sw_config ap config directory sd1:/sw_config

遠隔設定作業時の命綱

遠隔地に設置したネットワーク機器の設定変更は、失敗してオフラインになりリカバリーすらできなくなってしまう緊張感と隣り合わせです。現地へすぐに行ける距離だったり、作業をお願いできる人員がいたりする場合はいいのですが、必ずしもそうとは限りません。私は海外拠点の設定変更をする場合、必ずschedule atで一定時間後に再起動するよう設定してから作業をしていました。もし設定変更後にネットワーク接続が失われてしまってもsaveコマンドを実行しない限りはルーターが自動的に再起動し、変更前のCONFIGへ復旧します。下記はschedule atコマンド投入から300秒後に再起動する設定です。

schedule at 10 */* +300 * restart

schedule atコマンドの例ではありませんが、あらかじめCONFIGを作成しておきloadコマンドにrollback-timerを設定して設定変更を行う方法もあります。下記はmicroSDカードに保存したCONFIGに置換し、300秒後にコマンド実行前の内容へ自動的に復元する設定です。

load file sd1:/config.txt rollback-timer=300

schedule atの利用例を紹介していただける方はTwitterなどで教えていただけると嬉しいです。schedule atは本当に便利なので、スイッチにもスケジュール機能が搭載される日を心待ちにしています。