我在 Hostmonster.com 的主机上运行了六个不同的 cron 作业。执行 cron 作业后,我会收到一封包含脚本输出的电子邮件。
电子邮件的格式如下:
来自:Cron Daemon 主题:Cron /ramdisk/bin/php5 -c /home5/username/scheduled/optimize_mysql.bash
问题在于,电子邮件的主题让人很难读出该电子邮件与哪个 cronjob 有关。
有没有办法修改 cronjob 电子邮件的主题,以使其更容易阅读?
例如:
来自:Cron Daemon 主题:优化 MySQL 数据库
答案1
在我的系统(大多数是 Debian)上,所有输出(来自名为 crontab-entry 的脚本/程序)都通过电子邮件发送给account@localhost
发起 cron 的人。这些电子邮件的主题和您的一样。
如果你想接收电子邮件,请编写一个本身没有输出的脚本。而是将所有输出放在文本文件中。
与
mail -s 'your subject' adress@where < textfile
您可以按照自己想要的方式收到它。
答案2
或者使用 sh noop 命令(:)
0 9-17 * * 1-5 : Queue Summary; PATH=/usr/sbin qshape
该主题看起来仍然很笨拙,但至少它具有描述性并且不需要多余的脚本。
答案3
将您的 cron 作业输出直接传送到邮件,然后您可以填写主题行。该2>&1
语法会发送任何否则会消失的错误输出。
mycmd 2>&1 | mail -s "mycmd output" myname
答案4
另一个解决方案是编写一个 shell 脚本,其中包含您想要的主题行,该脚本将调用正确的命令。在您的示例中,这将是:
#Optimize_MySQL_Database.sh
/ramdisk/bin/php5 -c /home5/username/scheduled/optimize_mysql.bash
您可以通过在 crontab 文件中设置将 bin 目录包含在路径中。