cronが起動しない!?

ミサトさんやリツコさんが俺より年下だなんて……

おまとめ三行

サーバーのタイムゾーンが違っているパターンです
「JST-9」とかの表示があるはずです
一度crondを再起動する必要があります

指定した時間になったのに、cronが動いていない。アンビリカルケーブルが切断されたわけでもないのに、なぜか活動を停止していやがる。「動け! 動け! 動いてよ! 今動かなくちゃユーザーにメールで通知できないんだ。だから……」と叫んだところで、うんともすんとも言わない。

こんな時は、サーバーに活動限界が来ている……わけではなくて、サーバーのタイムゾーンが違っている可能性が考えられます。

SSHでサーバーに接続して、タイムゾーンがどうなっているか確認してみましょう。

# strings /etc/localtime

こんなコマンドを打つとタイムゾーンの設定が見れます。出力結果の中に「UTC0」みたいな記述があれば、タイムゾーンが日本になっていない状態です。UTC0は世界の標準時刻なので、えーとどこだ……イギリスとかかな?

日本時間の場合は、「JST-9」とかの表示があるはずです。それがなければ、日本時間に直してみましょう。

# cp -i /usr/share/zoneinfo/Japan /etc/localtime

これで日本時間になるはずなので、指定した時間にcronが動いてくれるようになります。引きこもりのプロを部屋から動かすよりは、ずっと簡単ですね。

ただし、タイムゾーンを直したら、一度crondを再起動する必要があります。

# service crond restart

再起動を忘れていると、やっぱり動いてくれない。いくら母親が「そろそろ出て来なさい」と言ったところで聞き耳持たない引きこもりくらい動かない。奈良の大仏並みに腰が上がらない。

難しい設定ではないですから、まあ気楽に再起動して、次回の発動を待ちましょう。今すぐ動いてくれないと困るなら、今回だけ直接コマンドを実行しても良いし。

ただ、タイムゾーンは正しいのに動かないとなると……すまん、それは今の俺には解決できん。

あと、どうすれば息子が部屋から出てきてくれるようになるかも……すまん、何のアドバイスもできん。

まだコメントはいただけてないみたい……
もしかしたら何か関連しているかも?