cronのログを出力するようにする方法

cronのログを出力するようにする方法

cronが上手く動かない際に、ログを確認するための設定メモになります

/etc/default/cronを変更

/etc/default/cronを編集し、実行ログを出力するようにします

sudo vim /etc/default/cron

ファイルのEXTRA_OPTSのコメントアウトを外し、適切なログレベルに変更します。今回は最も詳細な-L 15にします。

# EXTRA_OPTS=''
EXTRA_OPTS='-L 15'

ちなみに設定には以下のようなものがあり、設定したい項目の和を-Lの後に入力します

-L 0: No logging (errors are logged regardless).
-L 1: Log the start of jobs.
-L 2: Log the end of jobs.
-L 4: Log jobs with exit status != 0.
-L 8: Log the process identifier of child processes in all logs.

開始と終了の履歴のみ取りたい場合は3(=1+2)という感じです

/etc/rsyslog.confを変更

syslogのcronの出力を有効にするために/etc/rsyslog.confを編集します

sudo vim /etc/rsyslog.conf

設定の変更を反映するため、rsyslogのサービスを再起動します

sudo systemctl restart rsyslog.service

crontabでjobを設定

crontab -e

例として1分ごとにhelloと出力するjobを設定します

# m h  dom mon dow   command
*/1 * * * * echo hello

設定後はcronを再起動します

sudo systemctl restart cron.service

ログを確認

適当な方法でログを確認します

watch -d cat /var/log/cron.log

コメント

タイトルとURLをコピーしました