如何更改主题上唯一消息的cron输出电子邮件?

时间:2013-03-11 07:29:34

标签: linux cron

我有一个每4小时运行一次的cron作业。当它在输出的gmail.com中向我发送电子邮件时,它会对其进行处理并使其难以查看最新消息或特定消息。

0 0,4,8,12,16,20 * * * /root/backup.sh #Backup of server

是否可以让cron作业中的Description字段插入'date'命令输出,这样它不仅可以在Subject中为它添加时间戳,而且使其唯一,因此来自同一cron作业的消息不是线程化的一起?

也许是这样的?     0 0,4,8,12,16,20 * * * /root/backup.sh#'备份服务器;日期' 谢谢!

2 个答案:

答案 0 :(得分:0)

您可以拥有一个不向 stderr stdout 本身提供任何输出的脚本(然后cron将不会发送任何电子邮件)。

该脚本可以明确发送电子邮件,例如使用mail -s "some subject";您还可以使用logger来编写日志消息。您可能需要mail -s $(date +"backup %D")

之类的内容

您的crontab条目可以重定向输出,例如/root/betterbackup.sh > /dev/null 2>&1您明确确保betterbackup.sh已完成相应的邮件和日志。

答案 1 :(得分:0)

您可以在要设置邮件说明的shell文件中使用 date +"%Y_%m_%d_%H:%M:%S" 。 见this

如果您想在cron中指定date,则可以尝试以下语法

0 */4 * * * yourshellscript.sh backup_server_`date +"%Y_%m_%d:%H:%M:%S"`

请记住如果您使用的是mail -s "your subject"种邮件,那么您必须在我上面提到的date命令中转义双引号。<登记/> FYR见下文

mail -s "backup_server_`date +\"%Y_%m_%d:%H:%M:%S\"`" ur_id@example.com < myfile.txt

此处 myfile.txt 包含邮件正文。