Как я могу заставить crontab отправить мне письмо с результатами своих работ? Я MAILTO=redacted@yahoo.com.au над рабочими местами, но это не сработает.
Я знаю, что мне нужно использовать что-то вроде Postfix или Sendmail, но для жизни я не могу понять, как этого добиться. Я искал и искал простое руководство по настройке Postfix, но все они безумно сложны и ожидают, что вы настроите целый сервер для отправки и получения электронной почты и для ознакомления со всеми условиями (например, что такое доменное имя для исходящих писем?).
Все, что я хочу сделать, это иметь crontab, напишите мне. Почему это так сложно ??
Дополнительная информация:
Мой файл crontab выглядит так:
MAILTO=redacted@yahoo.com.au
1 0 * * * ~/Desktop/toskymesh.sh
59 6 * * * ~/Desktop/tooptus.sh
0 3 * * * snapraid sync
Дополнительная информация: [!d4 ]
Вывод ps -ef | grep '[s]endmail'
root 6840 1370 0 10:26 ? 00:00:00 sendmail: MTA: accepting connections
Я точно знаю, что cron работает, но я все равно тестирую почтовую команду с echo Test | mail -s Test redacted@yahoo.com.au.
Установить Postfix. Это сложнее, чем большинство других пакетов, но это все еще не сложно.
sudo apt-get install postfix
Выберите «Интернет-сайт», а затем примите все значения по умолчанию. Затем нам просто нужно прекратить внешние подключения, превратив это в «нулевой клиент». Запустите: sudoedit /etc/postfix/main.cf и найдите настройку inet_interfaces (ближе к концу) и измените ее на loopback-only, например:
inet_interfaces = loopback-only
И, наконец, перезапустите Postfix с sudo /etc/init.d/postfix restart (перезагрузка won ' t!).
Теперь у вас установлена Postfix, которая не будет передавать электронную почту для внешних машин, она будет просто принимать соединения на 127.0.0.1 (и :: 1 для IPv6).
В отдельном примечании ваши линии cron, вероятно, не работают, потому что вы используете неопознанные пути и пути с подстановками Bash в. sh не понимает ~, и это может не иметь надлежащего набора PATH. Поэтому замените их (я просто догадываюсь о реальных путях):
1 0 * * * /home/clonkex/Desktop/toskymesh.sh
59 6 * * * /home/clonkex/Desktop/tooptus.sh
0 3 * * * /usr/bin/snapraid sync
И если ваши сценарии требуют запуска из определенного каталога, убедитесь, что они cd находятся в правильном каталоге. Не предполагайте, что cron будет в нужном месте, поскольку он, вероятно, не будет.
Мне очень повезло с exim4.
sudo apt-get install alpine exim4 mailutils eximon4 spf-tools-perl swaks
(alpine - это только почтовый клиент, который мне нравится)
После этого я запустил
sudo dpkg-reconfigure exim4-config
и следуют через подсказки. Эта страница: https://help.ubuntu.com/community/Exim4 была очень полезной. Мне потребовалось около 10 минут, чтобы запустить его.