Как отправить содержимое файла на почту из консоли bash
Как отправить сообщение из консоли bash в Linux? Все очень просто! Логи, отчеты придут к вам на почту мгновенно, а вы своевременно получите информацию и сможете моментально отреагировать на ошибки.
Когда у вас множество linux-серверов и на каждом из них по расписанию cron работают скрипты, сложно контролировать процесс их работы, а самое главное — увидеть результат будь то бэкапа, синхронизации, планового обслуживания, e-mail очередей и так далее. Самый простой способ проконтролировать — получать на почту готовый лог в понятном виде. Расходуется минимум траффика, уведомления приходит на современные смартфоны в течение нескольких секунд, что мне кажется очень удобно.
Есть множество способов отправки сообщений из консоли bash, но я использую данный:
cat /var/log/backup.log | mail -s "backups log" user@example.org
Теперь перечислю, что потребуется сделать, чтобы письма уходили:
1) для начала на сервере требуется установить postfix и настроить его на отправку писем.
2) если ваши письма попадут в спам, и вы не горите желанием заморачиваться dkim-подписями и dns-записями, то можете добавить электронный адрес, с которого вам пришел отчет, в белый список.
И один несущественный минус: если в файле есть кириллица, то придут иероглифы. Проблему с кодировкой я не решал (да, я ленивец), поэтому в логе все написано на буржуйском, в том числе транслитом. Если в комментариях укажете мне правильный джедайский способ указывать кодировку UTF8, буду премного благодарен.
Отблагдарить автора статьи также можно переводом, +100 вам в карму!
4 комментария
Есть же mutt. Зачем забивать гвозди микроскопом?
Настраивать — 3 строчки конфига. Кириллицу, аттатчи, и Html-страницы в качестве письма ест. Можно делать рассылки скриптом. Можно логиниться на аккаунты майл.ру и прочих Яндексов и отправка будет через их сервера.
Спасибо за наводку, присмотрюсь к этому решению.
Лично у меня была задача делать бэкапы, сделать логи работы и ошибок и этим же скриптом отправить на почту.
А чем бэккапите? Я одно время пользовался bontmia, но потом перешёл на «слепки» всего раздела в squash-fs. Останавливать не надо, как в случае с dd, образ сжимается, и всегда можно подмонтировать и скопировать часть файлов.
У меня не разделы, а лишь бэкапы сайтов — это домашние папки, базы mysql и конфиги.
Тоже всё вручную без посторонних инструментов. А всё нужное у меня в зеркале)