at_shiita.ishigaki
2021年10月21日 11時31分
cronのログを有効にするには /etc/default/cronファイルのEXTRA_OPTSを設定します。
※ここでは例として、すべてのログを有効にするEXTRA_OPTS='-L 15'とします。
[armadillo ~]# vi /etc/default/cron # Cron configuration options # Whether to read the system's default environment files (if present) # If set to "yes", cron will set a proper mail charset from the # locale information. If set to something other than 'yes', the default : (省略) # For quick reference, the currently available log levels are: # 0 no logging (errors are logged regardless) # 1 log start of jobs # 2 log end of jobs # 4 log jobs with exit status != 0 # 8 log the process identifier of child process (in all logs) # EXTRA_OPTS='-L 15' < #を削除し有効化+変更 (vi終了)
次に、syslogのcronの出力を有効にするために、/etc/rsyslog.conf を編集し、rsyslog.serviceを再起動する必要があります。
[armadillo ~]# vi /etc/rsyslog.conf # /etc/rsyslog.conf configuration file for rsyslog # # For more information install rsyslog-doc and see : (省略) *.*;auth,authpriv.none -/var/log/syslog cron.* /var/log/cron.log < #を削除し有効化 daemon.* -/var/log/daemon.log : (省略) (vi終了) [armadillo ~]# systemctl restart rsyslog.service
cronで実行するコマンドを設定し、cron.serviceを再起動します
※ここでは例として、1分ごとに cat hogeを行います。
[armadillo ~]# crontab -e # Edit this file to introduce tasks to be run by cron. : (省略) # m h dom mon dow command */1 * * * * cat hoge < 追加 (vi終了) [armadillo ~]# systemctl restart cron.service
cronでコマンドが実行後に、/var/log/cron.logにログが書き込まれます。
hogeというファイルが存在しないため、エラーが表示されていることが確認できます。
[armadillo ~]# cat /var/log/cron.log Oct 20 18:44:17 armadillo cron[1440]: (CRON) INFO (pidfile fd = 3) Oct 20 18:44:17 armadillo cron[1440]: (CRON) INFO (Skipping @reboot jobs -- not system startup) Oct 20 18:45:01 armadillo CRON[1445]: (root) CMD ([1446] cat hoge) Oct 20 18:45:01 armadillo CRON[1445]: (CRON) error (grandchild #1446 failed with exit status 1) Oct 20 18:45:01 armadillo CRON[1445]: (root) MAIL (mailed 37 bytes of output but got status 0x0001 from MTA#012) Oct 20 18:45:01 armadillo CRON[1445]: (root) END ([1446] cat hoge)