0

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

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

是否可以让 cron 作业中的“描述”字段插入“日期”命令输出,以便它不仅在主题中对其进行时间戳记,而且使其独一无二,因此来自同一 cron 作业的消息不会串连在一起?

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

4

2 回答 2

0

You can use date +"%Y_%m_%d_%H:%M:%S" in the shell file where you are setting the description of the mail. see this

If you want to specify date in your cron then you can try below syntax

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

Remember if you are using mail -s "your subject" kind of mail sending then you have to escape doublequotes in the date command i mentioned above.
FYR see below

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

Here myfile.txt contains the mail body.

于 2013-03-11T08:03:36.100 回答
0

您可能有一个脚本,它不会向stderrstdout本身提供任何输出(然后cron不会发送任何电子邮件)。

该脚本可以显式发送电子邮件,例如使用mail -s "some subject"; 你也可以logger用来写日志信息。你可能想要类似的东西mail -s $(date +"backup %D")

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

于 2013-03-11T07:50:29.320 回答