我想验证我的cron工作是否在执行,在什么时间执行。 我相信我的 "sudo crontab -e "工作有一个日志,但在哪里呢?
我在谷歌上搜索了一下,发现建议在/var/log
中查找(在其中我没有看到任何名称中带有'cron'的东西),并编辑/etc/syslog.conf
文件,我也没有这个文件。
你可以创建一个cron.log文件,只包含显示在syslog中的CRON条目。注意,如果你按照下面的指示,CRON作业仍然会显示在syslog中。
打开该文件
/etc/rsyslog.d/50-default.conf
找到以......开头的那一行
#cron.*
取消对该行的注释,保存文件,并重新启动rsyslog。
sudo service rsyslog restart
现在你应该在这里看到一个cron日志文件。
/var/log/cron.log
现在,Cron活动将被记录到这个文件中(除了syslog之外)。
注意,在cron.log中,你会看到cron在/etc/cron.hourly、cron.daily等文件中运行脚本时的条目。- 例如,像这样的
Apr 12 14:17:01 cd CRON[14368]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
然而,你不会看到更多关于在/etc/cron.daily或/etc/cron.hourly中实际运行了哪些脚本的信息,除非这些脚本直接输出到cron.log中(或者可能输出到其他日志文件)。
如果你想验证一个crontab是否在运行,而不必在cron.log或syslog中寻找它,可以创建一个crontab,将输出重定向到你选择的日志文件中--类似于这样。
01 14 * * * /home/joe/myscript >> /home/log/myscript.log 2>&1
这将把运行的脚本可能产生的所有标准输出和错误重定向到指定的日志文件。