タイムゾーンを変更したら Cron の実施時刻がずれたので修正した作業メモ
Linux サーバーで cron ジョブを設定したら実施時刻がちょうど9時間ずれていた。初めてのことは何やっても必ずつまづくのぅ。ということで、修正作業メモ。使っているのは Ubuntu 12.04.2 LTS
。
再現方法
dpkg-reconfigure tzdata
コマンドでタイムゾーンを日本時間に変更crontab -e
コマンドで cron ジョブを追加- cron ジョブ のログを確認すると、実施時刻が指定と異なる <- イマココ!
解決方法
cron のサービスを再起動する。
1 2 3 |
|
cron のサービスはシステム起動時のタイムゾーン設定を保持し続けるので、サービスを再起動して変更した設定を読み込ませる必要があるみたい。
ちなみに、参考にしたサイト では service crond restart
コマンドを実行してサービスを再起動していた。Ubuntu は crond
ではなく cron
らしい。
蛇足
プログラミング関連でつまづいたらまず英語で検索、というのが習慣になっている今日このごろ。上記サイトを参考にコマンド実行するも crond
なんてないよとエラー。 “ubuntu cron service restart” で出てきたLinux Start Restart and Stop The Cron or Crond Serviceにある /etc/init.d/cron restart
を実行したところ、
1 2 3 4 5 6 7 8 9 |
|
なる警告が。「/etc/init.d
やめて service
使ってね」ってことのようだ。Ubuntu 発祥の upstart - event-based init daemonが理由みたいなので、時間見つけて違いなど調べてみたい。