cron日志存储在Ubuntu 14.04上的哪里?


12

我正在尝试解决为什么我的cron任务有时无法正常工作的问题。cron默认情况下将日志文件存储在哪里?是/ var / log / syslog吗?

我看过那个文件,它是空的。我需要设置一些东西吗?

Answers:


23

默认情况下,cron的日志保存在/ var / log / syslog中。这取决于rsyslogd配置。您可以更改它:
转到rsyslog配置

cd /etc/rsyslog.d/
须藤nano 50-default.conf

行号:

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

保存文件并重新启动rsyslog

sudo服务rsyslog重新启动 

重新启动cron守护程序以从新文件中获取消息

sudo服务cron重新启动

7

如果cron不起作用,它将向用户发送邮件root。唯一的问题是:您没有将邮件发送/存储在邮箱中的软件。

但是不要害怕,Postfix就在这里!

安装Postfix

sudo apt-get更新
sudo apt-get install postfix传家宝-mailx

安装时postfix,系统会询问您如何设置。在第一个屏幕上,选择local only其他所有内容并继续使用默认值。

配置后缀

现在,使用您喜欢的编辑器,进行编辑/etc/aliases。一开始看起来像这样:

#请参阅man 5别名以获取格式
邮件管理员:根

这意味着发送到的任何邮件也postnaster将同时发送到root。在这种情况下,我们希望将发送到root(对于cron邮件和任何其他系统邮件)的所有邮件都发送到username(美国)。

因此,编辑/etc/aliases为:

#请参阅man 5别名以获取格式
邮件管理员:根
根:诺曼

norman显然用您的用户名替换。除非您具有与我相同的名称/用户名。:))

说完这些之后,运行以下命令进行push更改:

须藤新别名

现在,在运行之后:

sudo dpkg重新配置后缀

您将获得与安装前相同的屏幕postfix。运行默认值(Local Only,等等。)。当您到达要求输入root和postmaster别名的部分时,只需确保它与您在/etc/aliases上面添加的部分相同即可。然后,继续运行默认值。

完成后,运行以下命令以重新启动postfix并进行!

sudo服务后缀重启

结论

现在,如果cron出现错误,它将被邮寄给您。但是,您可能想知道,我应该如何查看我的(本地)邮件?

为此,请运行以下命令:

邮件

这么简单。如果没有邮件,它将说No mail for <username>。否则,您将获得一个整洁的终端界面。有关如何与收件箱进行交互的信息,请参见手册页

或者,如果您愿意,可以使用以下方法访问本地手册页:

男士邮件

现在,您完成了!:)

PS:您应该阅读此内容以了解有关此cron问题的更多信息。


1
crond发送邮件给作业的所有者,不一定是root,因此,如果安装的是您自己的作业,crontab -e则会收到邮件。无论作业是否“失败”,这都是正确的……它只是通过电子邮件向您发送该作业所产生的任何成绩单。
psusi

0

运行时,mail我得到以下响应:

The program 'mail' is currently not installed. To run 'mail' please ask your administrator to install the package 'mailutils'

相反,我发现了错误/邮件存储在 /var/mail/root


-1

/var/log/syslog默认情况下处于启用状态。

但是可以将其设置为创建单独的cron.log,这更有用。

此问答描述了该过程:

16.04:如何让cron创建cron.log并对其进行实时监控?

同样在此答案中,还包含创建wcron命令的说明,该命令显示该命令几乎是实时的。另外,它链接到另一个答案,

如何更改cron日志级别?

该页面显示了如何更改日志级别,使其不仅包括作业的开始-级别15还将显示错误和结束时间。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.