cronログの確認方法|journalctl・/var/log/cron・syslogの見方
cronが予定時刻に実行されたかを確認するときは、まず「cronがジョブを呼び出した記録があるか」を見ます。ディストリビューションによって記録先が異なるため、journalctl・/var/log/cron・syslogを順番に確認します。
このページで分かること
- cron / crond のログ確認コマンド
- 実行記録の有無を判断するポイント
- 標準出力・標準エラーを残す安全な方法
先に結論
最初は journalctl -u cron または journalctl -u crond を確認します。記録がなければ「cronが実行されない」ガイドへ、記録があるのに処理結果がなければスクリプト側の切り分けへ進みます。
cron設定を作成・レビューする
cron式、実行ユーザー、絶対パス、%記号、ログ出力を登録前に確認できます。
最短の確認コマンド
journalctl -u cron --since today --no-pager
journalctl -u crond --since today --no-pager
サービス名は環境によって cron または crond です。まずどちらかに予定時刻の実行記録があるか確認します。
判断:
CRON ... CMD (...) などの実行記録があれば、cron自体はジョブを呼び出しています。処理だけ失敗している場合はcronスクリプト失敗ガイドへ進みます。cronログはどこに出るか
| 環境・候補 | 確認例 | ポイント |
|---|---|---|
| systemd journal | journalctl -u cronjournalctl -u crond | systemd環境で最初に確認 |
| RHEL系など | /var/log/cron | rsyslog設定によって記録される場合がある |
| Debian/Ubuntu系など | /var/log/syslog | grep CRON /var/log/syslog で絞り込み |
sudo grep -i cron /var/log/cron 2>/dev/null
sudo grep 'CRON' /var/log/syslog 2>/dev/null
ログファイルの有無はOS・rsyslog・journald設定によって異なります。ファイルがないだけでcron障害と判断しないでください。
ログから何を判断するか
| ログの状態 | 判断 | 次に確認 |
|---|---|---|
| 予定時刻に実行記録がない | cronがジョブを呼び出していない可能性 | cronが実行されない原因を確認 |
CMD (...) がある | cronの起動までは成功 | 標準エラー、PATH、権限、スクリプト |
command not found | PATH・絶対パスの問題候補 | cron PATHガイド |
ジョブ自身の標準出力・標準エラーを残す
cronデーモンのログだけではスクリプト内部のエラーが分からないことがあります。調査時は一時的に出力をファイルへ残します。
*/5 * * * * /opt/scripts/job.sh >> /var/log/myjob.log 2>&1
出力先の所有者・権限・ディスク容量も確認してください。恒久運用ではアプリ側のログ設計やlogrotateも合わせて検討します。
cronログに実行記録がない場合
このページでは「予定時刻に実行記録があるか」までを確認します。記録がない場合の原因調査は、登録ユーザー・cronサービス・時刻・crontab書式を扱うcronが実行されない原因と確認手順へ進んでください。
確認チェックリスト
- 予定時刻にcron / crondの実行記録がある
- ジョブの標準出力・標準エラーを確認できる
- PATHや実行権限の問題と切り分けた
次に確認する
実行記録がない場合はcron全般の切り分け、記録がある場合はスクリプト側の切り分けへ進みます。