Get Rewarded! We will reward you with up to €50 credit on your account for every tutorial that you write and we publish!

Уведомления о заданиях cron по электронной почте с помощью sSMTP

profile picture
Author
ntimo
Published
2019-04-12
Time to read
2 minutes reading time

Введение

Из этого руководства вы узнаете, как настроить sSMTP для получения уведомлений по электронной почте с вашего сервера. И получать письма с выводом от заданий cron.

Необходимо

  • Учетная запись электронной почты, от которой будет происходить отправка писем.

Шаг 1 - Установка sSMTP

Подключитесь к вашему серверу через SSH и установите sSMTP. Вы можете сделать это, запустив:

apt update
apt install ssmtp

Шаг 2 - Настройка sSMTP

Файлы конфигурации sSMTP можно найти в каталоге /etc/ssmtp.

Измените настройки в файле /etc/ssmtp/ssmtp.conf. Он должен иметь следующий вид:

MailHub=<smtp.example.com:465>
AuthUser=<cron-sender@example.com>
AuthPass=<cron-sender password>
UseTLS=YES
FromLineOverride=YES

Шаг 3 - Настройка задания cron

Теперь настройте задание cron с помощью crontab -e. Перед заданиями cron надо добавить MAILTO=<my-address@example.com> и MAILFROM=<cron-sender@example.com>.

MAILTO=<my-address@example.com>
MAILFROM=<cron-sender@example.com>
* * * * * echo 'Hello from cron'

Теперь вы будете получать электронное письмо всякий раз, когда выполняется задание cron.

Шаг 4 - Отключение отправки почту для заданий cron

Если вы не хотите, чтобы задание cron отправляло электронные письма, просто добавьте >/dev/null 2>&1 в его конец. Это перенаправит stdout и stderr этого задания в /dev/null, и электронное письмо отправлено не будет.

MAILTO=<my-address@example.com>
MAILFROM=<cron-sender@example.com>
* * * * * echo 'This text will be sent to /dev/null' >/dev/null 2>&1

Заключение

Настроив sSMTP на сервере, вы будете получать электронные письма для каждого задания cron. Это может быть очень полезно, например, если вы автоматически обновляете некоторые службы на сервере. Однако при большом количестве писем это может сильно раздражать. Если у вас, например, есть задание cron, которое выполняется каждую минуту, вы также будете получать электронное письмо каждую минуту, поэтому убедитесь, что вы тщательно выбрали, какие задания будут отправлять электронные письма.

Want to contribute?

Get Rewarded: Get up to €50 in credit! Be a part of the community and contribute. Do it for the money. Do it for the bragging rights. And do it to teach others!

Report Issue

Discover our

Dedicated Servers

Configure your dream server. Top performance with an excellent connection at an unbeatable price!

Want to contribute?

Get Rewarded: Get up to €50 credit on your account for every tutorial you write and we publish!

Find out more