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
コメント