Почта: не удается разобрать адрес

Это команда, которую я использую для архивирования моих файлов резервных копий, записи в stdout и последующей загрузки всего в 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"

1 ответ

Чтобы отправить письмо через mail (и используя stdin в качестве тела), используйте следующий синтаксис:

echo "test body" | mail -s 'test subject' reciever@example.com

Для получения дополнительной информации взгляните на Manpage man mail,

Другие вопросы по тегам