![cron 作业压缩目录并通过电子邮件发送内容](https://linux22.com/image/525434/cron%20%E4%BD%9C%E4%B8%9A%E5%8E%8B%E7%BC%A9%E7%9B%AE%E5%BD%95%E5%B9%B6%E9%80%9A%E8%BF%87%E7%94%B5%E5%AD%90%E9%82%AE%E4%BB%B6%E5%8F%91%E9%80%81%E5%86%85%E5%AE%B9.png)
我想要压缩一个目录并让其内容通过电子邮件发送给我。我该怎么做?
我有一个用于 mysql 备份的 cron 设置,其结束方式如下:
| gzip | uuencode public_html_backup.gz | mail [email protected]
我是否可以执行类似操作来压缩目录?
答案1
要备份/path/to/parent/directory
,您可以使用
cd /path/to/parent && tar -cjf - directory | uuencode | mail -s "directory backup on $(date)" [email protected]
这使用 bzip2 压缩。如果您更喜欢 gzip 压缩(占用更少的 CPU 但压缩效果更差),请替换-czf
为-cjf
。如果您更喜欢 zip 格式,请替换tar -czf - directory
为zip -r - directory
。
答案2
我不知道你的整个命令,但它确实可以工作,例如:
uuencode fileA.zip fileB.zip | mail -s "My Mail Subject" [email protected]
另一个例子:
tar cvf - Folder | gzip > my_backup.tar.gz | uuencode my_backup.tar.gz | mail -s "Subject" [email protected]
另一个例子:
gzip -c somefile.tar | uuencode somefile.tar.gz | mail -s "My Backup" [email protected]
您也可以使用 mutt:
mutt -a file.tar.gz -s "subject of message" [email protected]