Это команда, которую я использую для архивирования файлов резервных копий, записи в стандартный вывод и последующей загрузки всего на Amazon S3 с уведомлением по электронной почте.
tar -czvf - --exclude-caches /var/www | s3cmd --reduced-redundancy --multipart-chunk-size-mb=30 put - s3://MY-BUCKET/`date +\%G-\%m-\%d`.tar.gz | mail -s "Weekly Backup"
Все работает нормально кроме mail
команда. Я думаю, что у меня какая-то синтаксическая ошибка ... как я понял:
mail: Cannot parse address `File '-' stored as 's3://MY-BUCKET/2014-08-31.tar.gz' (0 bytes in 2190.3 seconds' (while expanding `File '-' stored as 's3://MY-BUCKET/2014-08-31.tar.gz' (0 bytes in 2190.3 seconds'): Malformed email address
mail: Cannot parse address `-1.00 B/s) [1 of 1]' (while expanding `-1.00 B/s) [1 of 1]'): Malformed email address
root:~# tar -czvf - --exclude-caches /var/www | s3cmd --reduced-redundancy --multipart-chunk-size-mb=30 put - s3://MY-BUCKET/`date +\%G-\%m-\%d`.tar.gz
| mail -s "Weekly Backup"
Чтобы отправить письмо через mail
(и используя stdin в качестве тела), используйте следующий синтаксис:
echo "test body" | mail -s 'test subject' reciever@example.com
Для получения дополнительной информации посетите страницу руководства. man mail
.