我通过将可执行文件放在/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