Расписание отправки почты содержимого файла журнала

Я имею 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
Другие вопросы по тегам