crontabの設定テストをしようと思って、実行時を一分後に設定したら動かなかった。
具体的にはこうだ。17:30に以下の設定をした。
% crontab -e ←crontab編集。viでcrontab設定が開く
31 17 * * * /home/admin/test.sh ←毎日 17:31に/home/admin/test.shが実行される設定
vi閉じる
1分待つ
予想では、17:31に/home/admin/test.shが実行されるはず。しかし、実行されなかった。
test.shがエラーで失敗している場合は、実行ユーザ宛にOSからメールが来るが、実行された気配自体がないのだ。
/var/log/cronlog(cronの実行ログ)を見てみると、17:31にRELOADというのが実行されている。
そこで、テストの実行タイミングを2分後に設定してみた。つまり、現在17:30だったら、17:32に動くように設定するということだ。結果、あっけなく動いた。 よくわからないが、crontabの設定変更をしたら、一分後にRELOAD(たぶん、OSの設定読み込み処理)が実行され、ようやく設定が反映されるということらしい。
というわけで、
crontabの実行テストをする場合は、現在時刻より2分以上あけて実行しようということを心に刻み、今回の覚書を終わる。