我通过将可执行文件放在/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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。