ページ

2013-02-13

cronで再起動時に何かする。主に再起動をメールで通知


サーバが再起動したことを通知する仕組み。

先日、サーバが再起動しました。
サーバはさくらインターネットで借りているVPSです。

緊急のメンテナンスがあった為に再起動があったそうです。

何も通知されなかったので、再起動されたことに気が付いたのは数日後でした。

これは困ったと思い、再起動されたことを通知する手段を探した所、cronで出来そうだったので採用しました。

crontab -eで設定を開いて以下の行を追加します。
@reboot echo "reboot : " `date`
普段は0 6 * * *とか書く所に@rebootと書くのがミソです。

@rebootは再起動時に実行という設定のためにcronが用意しているマクロです。

cronは標準出力や標準エラーをメールで送ってくる機能が標準で付いているのでechoしてメールで通知されるようにしてます。

`date`でdateコマンドを実行して起動した時刻をキャプチャするようにしています。

``で囲むのがミソです。

ちなみにcronには@reboot以外にも以下のようなマクロがあります。
@yearly (or @annually)Run once a year at midnight in the morning of January 10 0 1 1 *
@monthlyRun once a month at midnight in the morning of the first of the month0 0 1 * *
@weeklyRun once a week at midnight in the morning of Sunday0 0 * * 0
@dailyRun once a day at midnight0 0 * * *
@hourlyRun once an hour at the beginning of the hour0 * * * *
@rebootRun at startup@reboot

 出典

本当はもっと色々な情報を送れるようにしたほうがいいのかもしれませんがとりあえずはこれで運用してみたいと思います。

0 件のコメント:

コメントを投稿