トップページ> "> RedHat/CentOS

cronジョブが実行されない!

すごくよくあるけど、以下をチェックしてもダメだったとき。

  • テスト的に実行するときは、現時刻+2分以上後に設定しないと実行されない
  • 実行ディレクトリが想定と違ってる
  • シェルや書き込み先ディレクトリのパーミッションがない

などなど、ぜーんぶチェックして合ってるのにcronジョブが指定時間に実行されないよ!という場合。

私のケースでは、サーバーの日付がずれていた。

実際にやらかした例

  1. パソコン画面の右下の時計を見た
  2. おかしいな、指定時刻になってもcronジョブが実行されないぞ
  3. 現在の5分後にダミーのcronを設定して実験してみよう。やっぱり実行されない。
  4. crondは動いてる…
  5. パーミッションも問題無い…
  6. dateコマンド実行。あっ、サーバーの時刻が2時間以上遅れてる

パソコンの日付見ながら「動かないな」とかやってたのが敗因。

まさかサーバの時刻がズレてたとは。

以下の方法で対処しました。(さくらインターネットVPSサーバ OSはCentOS)

sudo su ntpdate ntp1.sakura.ad.jp

※ntp1.sakura.ad.jpは、さくらインターネットのNTP(時刻同期)サーバ。npdateは時刻をNTPサーバと同期させるコマンド。

「cronが動かない」でハマってる人の助けになることを祈って。

  はてなブックマーク - cronジョブが実行されない! この記事にTwitterでつぶやく このページをはてなブックマーク

トップページ> "> RedHat/CentOS もくじ