Расписание отправки почты содержимого файла журнала
Я имею postfix почтовый агент установлен, и я настроил ретрансляцию gmail, и я мог отправлять почту с терминала, как показано ниже:
root@statino1:~# mail -s "subject_here" my_gmail_id@gmail.com
CC: <hit enter for empty cc>
Type the mesage here
press Ctrl+d
Я должен отправить содержимое файла журнала по почте и запланировать его ежедневную работу.
Как отправить содержимое файла журнала в виде почтового сообщения, как автоматизировать ввод mail команда? так что я могу запланировать это. У кого-нибудь есть идеи?
1 ответ
Вы можете отправить электронное письмо одной командой:
mail -s 'Subject' you@example.com < log.txt
mail ожидает поток ввода, если его нет, он получает стандартный ввод (т. е. он позволяет вам что-то набирать). < Оператор (unix file-stream) указывает почте читать содержимое файла, а не /dev/stdin (который также является просто файлом).
Добавление вложения кажется немного сложнее:
Если вы хотите проверить, является ли файл пустым или нет, вы можете выполнить такой тест:
if [ -s test.txt ];
then
echo "file is not empty";
fi
Итак, ваша команда будет выглядеть так:
if [ -s log.txt ]; then mail -s 'Subject' you@example.com < log.txt; fi