Ubuntu 16.04创建一个cron.log文件以记录crontab日志

时间:2020-01-09 10:40:08  来源:igfitidea点击:

如何检查我的cron作业是否正在执行?
我找不到/var/log/cron.log文件。

Ubuntu Linux 16.04 LTS或更高版本服务器上的cron日志文件其中?
如何在Ubuntu Linux 16.04/18.04 LTS云服务器上创建cron.log文件?

Cron作业允许Linux和Unix用户在给定的日期和时间运行命令或脚本。
默认情况下,安装cron作业会记录到名为/var/log/syslog的文件中。
您也可以使用systemctl命令查看最后几条条目。
在这个快速的指南中,您将了解默认的cron日志文件,以及如何更改或设置或创建cron.log文件以仅包含显示在syslog中的cron作业条目。

默认值

执行以下命令以查看默认条目:

$ sudo tail -f /var/log/syslog

或者最好使用grep命令在该文件中找到cron作业:

$ sudo grep -i cron /var/log/syslog

输出示例:
Ubuntu Linux:我的crontab日志文件其中?

使用systemctl命令查看cron日志

您也可以使用以下命令仅在Ubuntu v16.04 LTS +上查看与CRON任务相关的最新条目:

$ sudo systemctl status cron

使用journalctl命令显示日志

执行以下命令以仅在Ubuntu v16.04 LTS +上查看cron日志:

$ sudo journalctl -u cron
$ sudo journalctl -u cron -b | more
$ sudo journalctl -u cron -b | grep something
$ sudo journalctl -u cron -b | grep -i error

您学习了如何在Ubuntu Linux服务器上创建cron.log文件。

其中:

  • -u cron:显示指定的系统单元UNIT称为cron的消息
  • -b:显示来自特定引导的消息,即从日志开头开始的消息。

如何启用或创建仅包含CRON条目的cron.log文件

编辑/etc/rsyslog.d/50-default.conf文件,执行:

$ sudo vi /etc/rsyslog.d/50-default.conf
### or use a nano text editor ###
$ sudo nano /etc/rsyslog.d/50-default.conf

找到这行:

#cron.*                         /var/log/cron.log

在配置文件中注释掉(取消注释行),如下所示:

cron.*                         /var/log/cron.log

保存并关闭文件。
重新启动rsyslog服务,执行:

$ sudo systemctl restart rsyslog
## verify it ##
$ sudo systemctl status rsyslog

现在,您可以在/var/log/cron.log文件中看到cron日志条目:

$ sudo tail -f /var/log/cron.log
$ sudo grep something /var/log/cron.log

输出示例:

Jul 14 18:34:01 db1 cron[20025]: (CRON) INFO (pidfile fd = 3)
Jul 14 18:34:02 db1 cron[20025]: (CRON) INFO (Skipping @reboot jobs -- not system startup)
Jul 14 18:35:02 db1 CRON[20065]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)