Назад | Перейти на главную страницу

Sendmail для отправки содержимого error.log

Ubuntu: Я пытаюсь отправить электронное письмо с sendmail, mailx, или mail (все, что будет работать). Я пытаюсь отправить содержимое файла журнала в виде сообщения. Журнал находится по адресу /var/log/nginx/error.log.

Я запускаю cron каждый час, чтобы узнать, изменилось ли что-нибудь в журнале ошибок, и если это так, я пытаюсь отправить журнал ошибок себе по электронной почте. Обычный тест с sendmail, mailx и mail мне подходит.

это работает (но не то, что я хочу):
echo "My test email being sent from sendmail" | /usr/sbin/sendmail email@gmail.com

Я пробовал следующее (у меня ни одно из них не работает):
sendmail email@gmail.com < /var/log/nginx/error.log,
/var/log/nginx/error.log | /usr/sbin/sendmail email@gmail.com,
cat /var/log/nginx/error.log | /usr/sbin/sendmail email@gmail.com,
mailx email@gmail.com < /var/log/nginx/error.log,
cat /var/log/nginx/error.log | mailx email@gmail.com
Очевидно, здесь новичок.

Sendmail ожидает получить заголовки и текст сообщения электронной почты поверх стандартного ввода.
[заголовки писем + пустая строка + тело письма]
Вашим попыткам не удалось предоставить заголовки.

Попробуйте сценарий ниже:

#!/bin/sh
( 
   echo subject: /var/log/nginx/error.log
   echo  
   cat /var/log/nginx/error.log 
) | sendmail -i email@gmail.com