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

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

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

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

あと、どうすれば息子が部屋から出てきてくれるようになるかも……すまん、何のアドバイスもできん。
 もしかしたら何か関連しているかも? 
 質問や感想などお気軽にコメントしてください