it-swarm.cn

如何修改Cronjob电子邮件主题

我从Hostmonster.com的托管处运行了六个不同的Cron作业。执行了cronjob后,我会收到一封包含脚本输出的电子邮件。

该电子邮件的格式为:

来自:Cron Daemon 
主题:Cron/ramdisk/bin/php5 -c /home5/username/scheduled/optimize_mysql.bash

这样做的问题是,电子邮件的主题使您很难阅读电子邮件所属的cronjob。

有没有一种方法可以修改cronjob电子邮件的主题,以便于阅读?

例如:

来自:Cron Daemon 
主题:优化MySQL数据库
51
justinl

在我的系统(大多数是Debian)上,来自名为crontab-entry的脚本/程序的所有输出均通过电子邮件发送至[email protected]谁发起了cron。这些电子邮件的主题与您一样。

如果要接收电子邮件,请编写自己没有输出的脚本。而是将所有输出都放在文本文件中。

mail -s 'your subject' [email protected] < textfile

您会以自己想要的方式收到它。

11
Michèle

或使用sh noop命令(:)

0 9-17 * * 1-5    : Queue Summary; PATH=/usr/sbin qshape

该主题看起来仍然很笨拙,但至少是描述性的,不需要多余的脚本。

56
Anthony

将您的cron作业输出通过管道直接发送到邮件,然后可以填写主题行。 2>&1语法发送任何错误输出,否则将消失。

mycmd 2>&1 | mail -s "mycmd output" myname
22
Mark Harrison

通过将输出和stderr传递到'mailx -E'中来接管crond发送命令输出的责任(如果没有,则不执行)。例如:

0 * * * * your-command 2>&1 | mailx -E -s "Descriptive Subject" $LOGNAME

Mailx的'-E'选项很不错,因为与crond本身一样,如果没有任何输出要发送,它将不会发送邮件。

13
Alexis Huxley

另一个解决方案是使用所需的主题行编写一个Shell脚本,以调用正确的命令。在您的示例中,这将是:

#Optimize_MySQL_Database.sh

/ramdisk/bin/php5 -c /home5/username/scheduled/optimize_mysql.bash

您可以通过在crontab文件中进行设置将bin目录包括在路径中。

2
kbk7173

请尝试-在命令行中执行以下代码-

/usr/local/bin/php -q /path /hostname/foldername/Page-You-want-to-execute \
   | **mail -s "*SUBJECT*" [email protected]**
  • 这只是指导您的参考
0
sudhu