我正在尝试解决为什么我的定时任务有时候不起作用的问题。cron 默认将日志文件存储在哪里?是 /var/log/syslog 吗?
我查看了那个文件,但是它是空的。我需要设置一些东西吗?
我查看了那个文件,但是它是空的。我需要设置一些东西吗?
cd /etc/rsyslog.d/
sudo nano 50-default.conf
取消注释以下行:
#cron.* /var/log/cron.log
保存文件并重新启动rsyslog
sudo service rsyslog restart
重新启动cron守护程序以从新文件获取其消息
sudo service cron restart
所以,编辑/etc/aliases
文件如下:
# 查看man 5 aliases了解格式 postmaster: root root: norman
(将norman
替换为你的用户名。除非你和我有相同的名字/用户名。 :) )
完成以上步骤后,运行以下命令来push
更改:
sudo newaliases
现在,在运行以下命令:
sudo dpkg-reconfigure postfix
你会看到安装postfix
时的相同界面。按照默认设置进行操作(例如选择“本地使用”等)。当询问根用户和邮件管理员别名时,确保与上述添加到/etc/aliases
中的别名相同。然后,继续按照默认设置进行操作。
完成后,运行以下命令重新启动postfix
并开始使用!
sudo service postfix restart
mail
时,我得到了以下的回应:The program 'mail' is currently not installed. To run 'mail' please ask your administrator to install the package 'mailutils'
相反,我发现错误/邮件存储在/var/mail/root
中
#检查所有作业运行时间线
cat /var/log/syslog | grep CRON
#查看每个作业的完整日志
cd /var/mail/
ll
-rw-rw---- 1 ubuntu mail 9342 Dec 31 07:35 ubuntu
less ubuntu
#在上面的文件中,你可以找到整个日志
只需按下 shift + g,你就可以看到所有新的日志文本
#检查实时文件/日志更新
tail -f /var/mail/ubuntu
默认情况下,它位于/var/log/syslog
。
但是可以设置为创建一个单独的cron.log,这样更有用。
这个问答描述了这个过程:
此外,在这个答案中还有创建一个wcron
命令的说明,它显示的是准实时的。此外,它链接到另一个答案,
该答案显示如何更改日志级别以包括不仅仅是作业的开始-级别15将显示错误和结束时间。
crond
会向工作的所有者发送电子邮件,不一定是 root 用户,因此如果您使用crontab -e
安装的是自己的工作,则会收到该邮件。无论作业是否“失败”,这也是正确的...它只是向您发送作业产生的任何输出的抄本。 - psusi