Cron ガイド
ガイド

Cron 作業が実行されないとき: ログとデバッグ

出力キャプチャ・MAILTO・ログ確認チェックリスト

cron は失敗しても大抵静かに通り過ぎます。このツールで式が正しいのに作業が動かないなら、問題は式ではなく実行環境にある可能性が高いです。原因を絞り込む方法を順番にまとめます。

出力をファイルに残しましょう。cron は作業の標準出力・標準エラーを既定でメールに送りますが、メールが設定されていないとそのまま消えてしまいます。コマンドの後ろに >> /var/log/myjob.log 2>&1 を付けて stdout と stderr の両方をログファイルに残せば、何が起きたのかをすぐに確認できます。

MAILTO で通知を受け取りましょう。crontab の先頭に MAILTO="you@example.com" を置くと、作業の出力・エラーがそのアドレスに送られます。静かな失敗を防ぐ最も簡単な安全装置です。逆にメールを望まない場合は MAILTO="" で空にします。

システムログを見ましょう。Debian・Ubuntu 系は grep CRON /var/log/syslog、systemd 環境は journalctl -u cron(または crond)で cron が作業をトリガーしたかを確認します。ここで重要な区別は、「実行を試みたか」と「スクリプトが成功したか」は別だという点です。

最後に、よくある原因のチェックリストです。① すべてのコマンド・ファイルを絶対パスで指定したか ② 必要な PATH を crontab に宣言したか ③ スクリプトに実行権限(chmod +x)があるか ④ 作業を正しいユーザーの crontab に入れたか(root と一般ユーザーの crontab は別物)。この4つを確認し、式そのものはこの解釈ツールで再度検証してください。

資料

スケジュール集

コピーしてすぐ使えるレシピ

構文チートシート

5つのフィールドと特殊文字を一目で

マクロ・別名

@daily のような省略表現

ガイド

cron を正しく理解し、ミスを減らすための実践ガイド