linux – 如何从Ubuntu中的(失败的)cron-jobs获取电子邮件?

我通过将可执行文件放在/etc/cron.{daily,hourly,monthly,weekly}中的一个来在Ubuntu中创建cron-jobs.有许多以cron开头的目录:
kent@rat:~$ls -ld /etc/cron*
drwxr-xr-x 2 root root 4096 2009-06-06 18:52 /etc/cron.d
drwxr-xr-x 2 root root 4096 2009-07-16 13:17 /etc/cron.daily
drwxr-xr-x 2 root root 4096 2009-06-06 18:52 /etc/cron.hourly
drwxr-xr-x 2 root root 4096 2009-06-06 18:52 /etc/cron.monthly
-rw-r--r-- 1 root root  724 2009-05-16 23:49 /etc/crontab
drwxr-xr-x 2 root root 4096 2009-06-06 18:52 /etc/cron.weekly

我希望在以下情况下从我的脚本收到电子邮件:

>脚本失败并提供非零退出代码.
>剧本有话要说

我安装了SSMTP并正常工作,我从我的Google帐户发送邮件. SSMTP只能使用一个帐户发送邮件这一事实对我来说不是问题.它只是一个家庭服务器,我没有能力添加cron-jobs.

我想知道脚本中的邮件通常如何在Linux / Unix中以及在Ubuntu中具体运行.我也想知道在上述两种情况下我收到邮件的好方法.

解决方法

默认情况下,cron将通过电子邮件发送运行crontab的帐户的所有者.

系统范围的crontab位于/ etc / crontab中,在用户“root”下运行

因为root被广泛使用,所以我建议你的/ etc / aliases文件中添加一个根别名. (之后运行’newaliases’)

构造这种方法的常规方法是将root别名化为系统上的另一个用户,例如对我来说,我将’root’别名为’phil'(我的用户帐户),将别名’phil’别名为我的外部电子邮件地址.

如果您有一个特定的用户cron,您希望在输出时通过电子邮件发送给您,您可以再次使用/ etc / aliases(假设您拥有超级用户访问权限)将用户重定向到另一个电子邮件地址,或者您可以在你的crontab的顶部:

MAILTO="email@domain.com"

如果邮件应该发送给本地用户,您可以只输入用户名:

MAILTO=someuser

如果您需要更多信息,请运行以下命令来查看crontab(5):

man 5 crontab

相关文章

文章浏览阅读1.8k次,点赞63次,收藏54次。Linux下的目录权限...
文章浏览阅读1.6k次,点赞44次,收藏38次。关于Qt的安装、Wi...
本文介绍了使用shell脚本编写一个 Hello
文章浏览阅读1.5k次,点赞37次,收藏43次。【Linux】初识Lin...
文章浏览阅读3k次,点赞34次,收藏156次。Linux超详细笔记,...
文章浏览阅读6.8k次,点赞109次,收藏114次。【Linux】 Open...