crontab

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

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

Щоразу, коли виконується завдання Crontab, електронне повідомлення про виконання цього завдання надсилається на електронну адресу кореневого користувача i.e. ідентифікатор електронної пошти, який ви вказали під час налаштування демона Cron. Це стандартні налаштування служби Crontab. Однак у деяких ситуаціях користувачі віддають перевагу надсилати ці сповіщення в інше місце, крім ідентифікатора електронної пошти кореневого користувача.

Ви можете розглянути сценарій, коли керівник команди просив підлеглого виконувати роботу через кожні 4 години. Всякий раз, коли підлеглий виконує це завдання, керівник команди повинен звітувати про це генеральному директору, однак це буде можливо лише в тому випадку, якщо підлеглий інформує керівника команди через кожні 4 години про те, що він виконав доручену роботу. Це означає, що якщо підлеглий забуде це зробити, тоді керівник команди повинен буде зіткнутися з наслідками.

Це завдання можна спростити, якщо якимсь чином керівник команди автоматично дізнається кожен раз, коли підлеглий виконує це завдання, не вимагаючи від підлеглого явного інформування керівника команди. На щастя, служба Crontab в Linux дозволяє нам це зробити, налаштувавши параметр MAILTO таким чином, що він може надсилати повідомлення бажаному одержувачу. Отже, сьогодні ми поговоримо про метод налаштування параметра Crontab MAILTO для надсилання сповіщень у вказане місце, крім ідентифікатора електронної пошти кореневого користувача в Linux Mint 20.

Метод налаштування параметра Crontab MAILTO для надсилання сповіщення до вказаного місця:

Для налаштування параметра Crontab MAILTO для надсилання сповіщень у зазначене місце в Linux Mint 20 потрібно виконати наступні кроки:

Крок 1. Запустіть службу Crontab:

По-перше, вам потрібно запустити службу Crontab, щоб вона могла виконувати зазначені завдання, виконуючи команду, зазначену нижче у вашому терміналі:

$ sudo systemctl start cron


Ця команда негайно запустить демон Cron у фоновому режимі.

Крок 2. Перевірка робочого стану служби Crontab:

Щоб підтвердити робочий статус демона Crontab, ви можете виконати таку команду у своєму терміналі:

$ sudo systemctl статус cron


Якщо демон Crontab працює, ви побачите статус "активний (запущений)" у виході цієї команди, як це показано на зображенні, показано нижче:

Крок 3. Відкрийте файл Crontab за допомогою редактора Nano:

Тепер ми спробуємо відкрити файл Crontab для налаштування параметра MAILTO, виконавши в терміналі таку команду:

$ crontab -e


Виконуючи команду crontab, файл crontab відкриється у вашому текстовому редакторі за замовчуванням i.e. редактор нано.

Крок No4: Налаштуйте параметр MAILTO для надсилання сповіщення у вказане місце:

Тепер ви можете додати до цього файлу будь-яке завдання, яке буде виконано як завдання Crontab. У нашій ситуації ми створили завдання Crontab для виконання файлу bash щосекунди. Однак перед цим завданням вам потрібно ввести рядок, показаний нижче, для налаштування параметра MAILTO для надсилання сповіщень у вказане місце:

MAILTO = "Адреса електронної пошти"

Тут вам потрібно замінити адресу електронної пошти фактичним ідентифікатором електронної пошти людини, якій ви хочете надіслати сповіщення Crontab. Ми хотіли надіслати сповіщення Crontab на адресу [[електронна пошта захищена] “, як це виділено на наступному зображенні.


Іноді до файлу Crontab додається більше одного завдання, і ви можете надіслати повідомлення про кожне завдання на іншу електронну адресу. У цьому випадку вам потрібно додати рядок MAILTO, показаний вище, перед кожним завданням, яке ви вказали у своєму файлі Crontab, і просто написати відповідну адресу електронної пошти туди, куди ви хочете надіслати сповіщення. Таким чином, ви можете легко налаштувати параметр Crontab MAILTO для надсилання сповіщень у вказане місце.

Крок No5: Встановіть новий Crontab:

Тепер ви можете закрити файл Crontab після його збереження. Як тільки ви це зробите, ви помітите, що демон Cron встановлює новий Crontab, оскільки ви щойно змінили файл Crontab, налаштувавши параметр MAILTO.

Крок No6: Перевірте, виконується завдання Crontab чи ні:

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

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

Ось, Кроне.sh - це ім'я файлу bash, який ми хотіли виконувати щосекунди, тоді як файл / var / log / syslog у Linux містить журнал усіх завдань Crontab, які виконувались до моменту запуску вищезазначеної команди.


Коли ви виконаєте цю команду, ви помітите в її результатах, що Cron.Файл sh фактично виконується щосекунди, як показано на малюнку нижче. Це також означає, що кожного разу, коли буде виконано цей файл bash, електронне повідомлення буде надіслано на адресу електронної пошти, вказану з параметром MAILTO у файлі Crontab.

Висновок:

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

Як використовувати AutoKey для автоматизації ігор Linux
AutoKey - це утиліта автоматизації робочого столу для Linux та X11, запрограмована на Python 3, GTK та Qt. Використовуючи його сценарії та функціональ...
How to Show FPS Counter in Linux Games
Linux gaming got a major push when Valve announced Linux support for Steam client and their games in 2012. Since then, many AAA and indie games have m...
How to download and Play Sid Meier's Civilization VI on Linux
Introduction to the game Civilization 6 is a modern take on the classic concept introduced in the series of the Age of Empires games. The idea was fai...