bash - Mac os x终端邮件:在一封邮件中发送多个输出
问题描述
我有一个备份脚本,在我的 mac os high sierra 上每 2 周使用 cron 执行一次。
这部分有效,现在我想使用以下两行将日志邮寄给自己:
df -Ph /Volumes/USB_Storage >> “
date +"%Y-%m-%d"
/Users/ralphschipper/Documents/Logs/rsync”.logcat "/Users/ralphschipper/Documents/Logs/rsync"
date +"%Y-%m-%d"
.log | /usr/bin/mail -s "备份日志" user@gmail.com
问题是:我的备份从 9 月 15 日晚上 10:00 开始,因此在 15 日创建日志文件
备份在 9 月 16 日上午 1:00 准备好,因此创建了一个新的日志文件。
最后,使用包含 df 命令的日志文件从 16 日发送邮件。
现在有人如何解决这个问题吗?
我可以在存储当前日期的过程开始时创建一个变量并使用它吗?
或者我可以发送一封发送日志文件和 df 结果的邮件吗?
问候,
拉尔夫
解决方案
存储您要使用的日期(并对完整的文件名执行相同操作)。
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
推荐阅读
- android - 应用程序被杀死/关闭时使用 expo 推送通知
- c++ - 如何解决我在 Visual Studio 中的持续错误?
- javascript - 覆盖 Quill.js 优化过程以启用分别具有两个连续标签(未连接)
- ruby-on-rails - AXLSX Gem:列的单元格样式组
- c - 启动气体 x86 n 得到段错误?
- excel - 遍历表并使用每行中的多个值
- django - 货币符号在 Saleor 平台上未正确显示
- amazon-web-services - 授权:不记名令牌与 AWS 的令牌授权方相同吗?
- amazon-web-services - 如何通过 aws WAF 阻止特定 IP 的网站
- react-native - EPERM:不允许操作