安装 Postfix

安装 Postfix

我正在尝试排除 cron 任务有时无法正常工作的原因。cron 默认将日志文件存储在哪里?是 /var/log/syslog 吗?

我查看了该文件,它是空的。我需要设置一些东西吗?

答案1

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

cd /etc/rsyslog.d/
sudo nano 50-默认.conf

取消注释行:

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

保存文件并重新启动 rsyslog

sudo 服务 rsyslog 重启

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

sudo 服务 cron 重启

答案2

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

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

安装 Postfix

sudo apt-get 更新
sudo apt-get 安装 postfix heirloom-mailx

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

配置 Postfix

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

# 请参阅 man 5 别名以了解格式
邮政局长:root

这意味着,任何发送到的邮件现在也postnaster将发送到。在这种情况下,我们希望任何发送到的邮件(对于 cron 邮件和任何其他系统邮件)都发送给(我们)。rootrootusername

因此,编辑/etc/aliases如下:

# 请参阅 man 5 别名以了解格式
邮政局长:root
词根:norman

norman显然要用你的用户名替换。除非你的名字/用户名与我相同。:))

完成所有操作后,运行以下命令来执行push更改:

sudo newaliases

现在,运行之后:

sudo dpkg-重新配置 postfix

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

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

sudo 服务 postfix 重启

结论

现在,如果 cron 出现错误,它会通过邮件发送给您。但是,您可能想知道,我到底如何检查我的(本地)邮件?

为此,请运行以下命令:

邮件

就这么简单。如果没有邮件,它会显示No mail for <username>。否则,您将获得一个简洁的终端界面。请参阅手册页了解如何与收件箱互动的信息。

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

男子邮件

现在,您已经完成了!:)

PS你应该读了解有关该cron问题的更多信息。

答案3

运行时mail我收到以下响应:

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

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

答案4

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

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

此问答描述了该过程:

16.04:如何让 cron 创建 cron.log 并实时监控它?

此答案中还提供了创建命令的说明wcron,该命令显示它是近乎实时的。此外,它链接到另一个答案,

如何更改 cron 日志级别?

这显示了如何更改日志级别以包含不仅仅是作业的开始 - 级别 15 还将显示错误和结束时间。

相关内容