我在Hostmonster.com上运行了六个不同的cron作业。 当一个cronjob被执行的时候,我收到一封包含脚本输出的邮件。
电子邮件格式为:
来自:Cron守护进程 主题:Cron / ramdisk / bin / php5 -c /home5/username/scheduled/optimize_mysql.bash
问题在于电子邮件的主题使得阅读电子邮件所属的cronjob非常困难。
有没有办法修改cronjob电子邮件的主题,使其更容易阅读?
例如:
来自:Cron守护进程 主题:优化MySQL数据库
在我的系统上(大多数Debian),所有的输出,通过一个脚本/程序被称为crontab-entry,通过电子邮件发送到启动cron的account@localhost
。 这些电子邮件有一个像你的主题。
如果你想收到一封电子邮件,写一个自己没有输出的脚本。 但是把所有的输出放在一个文本文件中。
和
mail -s 'your subject' adress@where < textfile
你收到你想要的方式。
或者使用sh noop命令(:)
0 9-17 * * 1-5 : Queue Summary; PATH=/usr/sbin qshape
该主题仍然看起来kludgey,但至less是描述性的,不需要无关的脚本。
将您的cron作业输出pipe道直接邮寄,然后您可以填写主题行。 2>&1
语法将发送任何会以其他方式消失的错误输出。
mycmd 2>&1 | mail -s "mycmd output" myname
通过pipe道输出和stderr到'mailx -E'接pipecrond的责任来发送命令输出(或者没有的话)。 例如:
0 * * * * your-command 2>&1 | mailx -E -s "Descriptive Subject" $LOGNAME
Mailx的'-E'选项很好,因为就像crond一样,如果没有任何输出发送,它将不会发送邮件。
另一个解决scheme是编写一个shell脚本,使用所需的主题行来调用正确的命令。 在你的例子中,这将是:
#Optimize_MySQL_Database.sh /ramdisk/bin/php5 -c /home5/username/scheduled/optimize_mysql.bash
你可以通过在crontab文件中设置你的bin目录。
试试这个 – 在命令行中执行下面的代码—
/usr/local/bin/php -q /path /hostname/foldername/Page-You-want-to-execute \ | **mail -s "*SUBJECT*" [email protected].**