Mac OS X终端邮件:在一封邮件中发送多个输出

时间:2018-09-16 07:01:03

标签: bash macos terminal

我有一个备份脚本,它在Mac OS High Sierra上每2周执行一次cron。
那部分工作了,现在我想使用以下两行将日志发送给自己:

  

df -Ph / Volumes / USB_Storage >>“ /Users/ralphschipper/Documents/Logs/rsync"date +"%Y-%m-%d".log

     

cat“ /Users/ralphschipper/Documents/Logs/rsync"date +"%Y-%m-%d".log | / usr / bin / mail -s“ Backuplog” user@gmail.com

问题是:我的备份从9月15日晚上10:00开始,因此日志文件是在15日创建的。
9月16日凌晨1:00,备份已准备就绪,因此将创建一个新的日志文件。
最后,使用包含16日起df命令的日志文件发送邮件。

现在有人解决此问题吗?
我可以在存储当前日期的过程的开头创建一个变量并使用它吗?
还是可以发送发送日志文件和df结果的邮件?

此致

拉尔夫

1 个答案:

答案 0 :(得分:1)

存储您要使用的日期(并使用完整的文件名进行同样的操作)。

backupdate=$(date +"%Y-%m-%d")
backupfile="/Users/ralphschipper/Documents/Logs/rsync${backupdate}.log"

df -Ph /Volumes/USB_Storage >> "${backupfile}"
cat "${backupfile}" | /usr/bin/mail -s "Backuplog of ${backupdate}" user@gmail.com