Поиск по сайту:

Параметр Crontab MAILTO для отправки уведомления


Всякий раз, когда выполняется задание Crontab, электронное письмо о выполнении этого задания отправляется на адрес электронной почты пользователя root, то есть на идентификатор электронной почты, который вы указали при настройке своего демона Cron. Это настройки службы Crontab по умолчанию. Однако в некоторых ситуациях пользователи предпочитают отправлять эти уведомления в место, отличное от идентификатора электронной почты корневого пользователя.

Можно рассмотреть сценарий, в котором тимлид просил подчиненного выполнять работу через каждые 4 часа. Всякий раз, когда этот подчиненный выполняет эту задачу, тимлид должен сообщить об этом генеральному директору, однако это будет возможно только в том случае, если подчиненный будет информировать тимлида через каждые 4 часа о том, что он выполнил порученную работу. Это означает, что если подчиненный забудет это сделать, то тимлиду придется столкнуться с последствиями.

Эту задачу можно упростить, если руководитель группы каким-то образом автоматически узнает каждый раз, когда подчиненный выполняет эту задачу, не требуя, чтобы подчиненный явно информировал руководителя группы. К счастью, служба Crontab в Linux позволяет нам сделать это, настроив параметр MAILTO таким образом, чтобы он мог отправлять уведомления нужному получателю. Итак, сегодня мы поговорим о методе настройки параметра Crontab MAILTO для отправки уведомлений в указанное место, отличное от идентификатора электронной почты пользователя root в Linux Mint 20.

Метод настройки параметра Crontab MAILTO для отправки уведомления в указанное место:

Чтобы настроить параметр Crontab MAILTO для отправки уведомлений в указанное место в Linux Mint 20, вам необходимо выполнить следующие шаги:

Шаг № 1: Запустите службу Crontab:

Во-первых, вам нужно запустить службу Crontab, чтобы она могла выполнять указанные задания, выполнив указанную ниже команду в своем терминале:

$ sudo systemctl start cron

Эта команда немедленно запустит демон Cron в фоновом режиме.

Шаг № 2: Проверьте рабочий статус службы Crontab:

Чтобы подтвердить рабочий статус демона Crontab, вы можете запустить следующую команду в своем терминале:

$ sudo systemctl status cron

Если демон Crontab работает, вы увидите статус «активен (работает)» в выводе этой команды, как выделено на изображении, показанном ниже:

Шаг № 3: Откройте файл Crontab с помощью редактора Nano:

Теперь мы попытаемся открыть файл Crontab для настройки параметра MAILTO, выполнив в терминале следующую команду:

$ crontab –e

Выполнив команду crontab, файл crontab откроется в текстовом редакторе по умолчанию, то есть в редакторе nano.

Шаг № 4: Настройте параметр MAILTO для отправки уведомления в указанное место:

Теперь вы можете добавить в этот файл любую задачу, которая будет выполняться как задание Crontab. В нашей ситуации мы создали задание Crontab для выполнения файла bash каждую секунду. Однако перед этим заданием вам необходимо ввести строку, показанную ниже, для настройки параметра MAILTO для отправки уведомлений в указанное место:

MAILTO=”EmailAddress”

Здесь вам нужно заменить EmailAddress фактическим идентификатором электронной почты человека, которому вы хотите отправлять уведомления Crontab. Мы хотели отправить уведомление Crontab на адрес «aqsayasintw@gmail.com», как показано на следующем изображении.

Иногда в файл Crontab добавляется несколько заданий, и вы можете захотеть отправлять уведомления о каждом задании на другой адрес электронной почты. В этом случае вам нужно добавить строку MAILTO, показанную выше, перед каждым заданием, которое вы указываете в своем файле Crontab, и просто написать соответствующий адрес электронной почты, на который вы хотите отправлять уведомления. Таким образом, вы можете легко настроить параметр Crontab MAILTO для отправки уведомлений в указанное место.

Шаг № 5: Установите новый Crontab:

Теперь вы можете закрыть файл Crontab после его сохранения. Как только вы это сделаете, вы заметите, что демон Cron устанавливает новый Crontab, поскольку вы только что изменили файл Crontab, настроив параметр MAILTO.

Шаг № 6: Проверьте, выполняется ли задание Crontab или нет:

Более того, если вам также необходимо подтвердить, что задание, которое вы только что добавили в свой файл Crontab, выполняется успешно или нет, вы даже можете сделать это, выполнив следующую команду в своем терминале:

$ sudo grep –a “Cron.sh” /var/log/syslog

Здесь Cron.sh — это имя файла bash, который мы хотели выполнять каждую секунду, тогда как файл /var/log/syslog в Linux содержит журнал всех заданий Crontab, которые были выполнены до того момента, когда вы запустили вышеупомянутое. команда.

Когда вы выполните эту команду, вы заметите в ее выводе, что файл Cron.sh фактически выполняется каждую секунду, как показано на изображении ниже. Это также означает, что всякий раз, когда этот файл bash будет выполняться, электронное письмо будет отправлено на адрес электронной почты, указанный с параметром MAILTO в файле Crontab.

Заключение:

Выполнив все шаги, описанные в этой статье, можно легко настроить параметр Crontab MAILTO таким образом, чтобы он мог отправлять уведомления по электронной почте любому желаемому получателю. Параметр MAILTO можно настроить для любого количества получателей. Другими словами, если у вас есть несколько заданий Crontab, перечисленных в файле Crontab, вы можете легко иметь отдельные параметры MAILTO для каждого из этих заданий, чтобы вы могли отправлять уведомления о выполнении любого конкретного задания предполагаемому получателю. Таким образом, вы также можете избавить себя от необходимости вручную информировать заинтересованное лицо о завершении задачи.

Статьи по данной тематике: