我想要压缩一个目录并让其内容通过电子邮件发送给我。我该怎么做?
我有一个用于 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]