我有一个每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#'备份服务器;日期' 谢谢!
答案 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 包含邮件正文。