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

相关文章

文件查找(find) 1 find 简单的说,就是实时查找指定的内容或条件。特点:最新、最快、最准确。 用法:...
非交互式添加分区 方法一 添加/deb/sdb 下的分区,其实位置为1到1000M,第二个分区位置为1001至3000M,...
编译安装httpd 1 去官网下载源码包 为避免非法软件,一定要去官网下载http://www.apache.org httpd-2.4...
gdisk用法 gdisk - InteractiveGUIDpartitiontable (GPT) manipulator GPTfdisk (akagdisk) isatext-mo...
1 一定用快捷键 这里简单的说下几个常用的快捷按键。 1.1 移动光标快捷键 Crtl + a 光标回到命令行...
bash shell中测试命令 test命令提供了if-than语句中测试不同条件的途径。如果test命令中列出的条件成立...