如何修改 Cronjob 电子邮件主题

如何修改 Cronjob 电子邮件主题

我在 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 目录包含在路径中。

相关内容