我有一个每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 #'备份服务器日期的谢谢!
你可以有一个脚本,不给任何输出stderr或stdout本身(那么cron
不会发送任何电子邮件)。
脚本可以显式地发送电子邮件,例如使用mail -s "some subject"
;您还可以使用logger
来编写日志消息。您可能需要mail -s $(date +"backup %D")
您的crontab
条目可以重定向输出,例如/root/betterbackup.sh > /dev/null 2>&1
,并且您明确确保在betterbackup.sh
中完成适当的邮件和日志。
您可以在设置邮件描述的shell文件中使用 date +"%Y_%m_%d_%H:%M:%S"
。看到这个
如果你想在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包含邮件正文