У меня установлен 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
? так что я могу запланировать это. У кого-нибудь есть идеи?
Вы можете отправить электронное письмо с помощью одной команды, например:
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