Ubuntu 上的 cron 邮件?

Ubuntu 上的 cron 邮件?

在我的 Debian 系统上,我有一个传统的本地“邮件”设置。软件包安装设置了一些合理的默认值。 (也许它提示我接受设置;我不记得了)。

编辑:在 Debian 9 及更高版本中,exim4-daemon-light不再作为 Debian“标准任务”(软件包集)的一部分安装。

这很有用的主要原因是cron作业(以及at作业)中的错误,这些错误作为本地“邮件”传递。

$ aptitude why exim4-daemon-light
i   exim4 Depends exim4-daemon-light | exim4-daemon-heavy | exim4-daemon-custom
$ aptitude why exim4
i   logrotate Depends    cron | anacron | cron-daemon          
i A cron      Recommends exim4 | postfix | mail-transport-agent

Fedora Workstation 不包含有效的邮件设置。你必须选择安装它,你可能需要做一些额外配置

Ubuntu 基于 Debian。在 Ubuntu 桌面上,假设您安装了cron(或at),您是否有一个(工作的)本地邮件设置?

编辑:我想在 Debian 9 上,如果你想要的话,你已经需要选择安装邮件系统,尽管有“推荐”。

(我写了一些 Ansible 的东西,在 Debian 系统上设置 cron 作业。我希望最终将系统切换到 Ubuntu 桌面。所以我正在考虑我的脚本所做的假设)。

答案1

Ubuntu 桌面 18.04 不包括cron.

如果你安装了cron,它会不是自动安装邮件传输代理。 Ubuntucron软件包不再“推荐”任何“邮件传输代理”软件包。

(这感觉像是另一个不一致的地方,因为 cron 的包描述仍然说“你可能还应该安装一个邮件系统,以便你可以接收这些消息”。他们没有费心添加一个Suggests来代替Recommends......可能是因为如果他们这样做的话,没有人会真正注意到。)

另外,问题中有一个关于 的链接pam_mail。看起来 Ubuntu Desktop 18.04 的默认安装仍然包含pam_mail/etc/pam.d/*- 与 Fedora Workstation 不同。

如果您不需要专门发送邮件,您可能会对 感兴趣systemd-cron。显然它将 cronjob 输出记录到系统日志中。如果邮件系统可用,它还会将任何输出作为邮件发送。

补丁于2012年提交在 Debian 软件包中提供类似的功能cron。补丁的描述说,默认情况下,它只会在无法发送邮件时记录输出。截至目前,票务尚未关闭。因此,此时,如果 cronjob 生成输出,则特定输出可能会丢失。这被记录为信息性消息;它没有被标记为警告或错误。

Jul 27 16:36:01 debian9-vm CRON[2337]: pam_unix(cron:session): session opened for user root by (uid=0)
Jul 27 16:36:01 debian9-vm CRON[2338]: (root) CMD (echo fail; exit 1)
Jul 27 16:36:01 debian9-vm CRON[2337]: (CRON) info (No MTA installed, discarding output)
Jul 27 16:36:01 debian9-vm CRON[2337]: pam_unix(cron:session): session closed for user root

相关内容