ユアマイスター株式会社エンジニアブログ

ユアマイスター株式会社のエンジニアが日々徒然。

AWSでcronが時間通り動かない!

そんなお悩みをお持ちのあなた、朗報です。あっという間に解決です。

半袖でこんにちは、ユアマイスターの星です。

こんなお悩みをお持ちのあなたへ

  • 0 3 * * * /path/to/shellってcrontab指定しているのに、AM11時に実行される

タイムゾーンを確認する

まず、サーバのタイムゾーンを確認しましょう。

cat /etc/localtime

バイナリーファイルなので文字化けして表示されますが、最後のJSTとかUTCとか出てくるので把握はできると思います。

diff /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

という感じで、差分がないことで一緒だ!と判断する方法もあります。

もしタイムゾーンJSTになっていない場合は、

Amazon EC2のタイムゾーンを日本時間に変更する方法 - Qiitaあたりを確認しながら設定しましょう。

crondを再起動する

タイムゾーンJSTになっているし、dateコマンドを打っても正しい時間が出てくる!という場合は、 crondを再起動することで解決します。

sudo service crond restart

あまり出番のないTipsかもしれませんが、後学のために。