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

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

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

 

  • テスト的に実行するときは、現時刻+2分以上後に設定しないと実行されない
  •  

  • 実行ディレクトリが想定と違ってる
  •  

  • シェルや書き込み先ディレクトリのパーミッションがない
  •  

などなど、ぜーんぶチェックして合ってるのにcronジョブが指定時間に実行されないよ!という場合。
私のケースでは、サーバーの日付がずれていた。

 

実際にやらかした例

 

  1. パソコン画面の右下の時計を見た
  2.  

  3. おかしいな、指定時刻になってもcronジョブが実行されないぞ
  4.  

  5. 現在の5分後にダミーのcronを設定して実験してみよう。やっぱり実行されない。
  6.  

  7. crondは動いてる…
  8.  

  9. パーミッションも問題無い…
  10.  

  11. dateコマンド実行。あっ、サーバーの時刻が2時間以上遅れてる
  12.  

パソコンの日付見ながら「動かないな」とかやってたのが敗因。
まさかサーバの時刻がズレてたとは。
以下の方法で対処しました。(さくらインターネットVPSサーバ OSはCentOS)

 

sudo su ntpdate ntp1.sakura.ad.jp

 

※ntp1.sakura.ad.jpは、さくらインターネットのNTP(時刻同期)サーバ。npdateは時刻をNTPサーバと同期させるコマンド。
「cronが動かない」でハマってる人の助けになることを祈って。