Планування періодичних завдань за допомогою Cron в Linux
cron
— це програма для Linux, яка використовується для планування виконання команди або сценарію пізніше. Його також можна використовувати для планування періодичних виконання команд і сценаріїв. Програми, заплановані за допомогою cron, зазвичай називаються Cron Jobs. Його основне використання для завдань системного адміністрування, таких як регулярне резервне копіювання, регулярне оновлення програмного забезпечення та інші подібні завдання з обслуговування.
Вступ
cron
працює як демон у Linux, тобто як фоновий процес. Це дозволяє користувачам планувати завдання безпосередньо за допомогою команди crontab, яка відкриває в редакторі файл конфігурації під назвою Cron File. Для кожного користувача створюються окремі файли Cron.
Створення файлу Cron та базовий синтаксис
The crontab
команду можна виконати за допомогою -е
прапорець, щоб редагувати наявний файл Cron. Якщо файл ще не існує, він буде створений. Якщо користувач викликає команду вперше і якщо в системі Linux встановлено кілька редакторів файлів, команда попросить користувача вибрати редактор за замовчуванням зі списку редакторів.
Після вибору редактора буде створено та відкрито файл cron для користувача. Тепер ви можете вказувати завдання у файлі.
Загальний синтаксис для визначення завдання Cron такий:
В основному, виконуватиметься у вказану хвилину (0-59), годину (0-23), день місяця (1-31), місяць (1-12), день тижня (0-7, Для неділі можна використовувати 0 або 7) у Cron Job. Щоб спростити, розглянемо приклад:
1 2 3 4 5 echo "Привіт"
Це означає наказ ехо "Привіт"
працюватиме кожного п’ятого дня тижня (п’ятниця) та кожного 3-го числа місяця, кожного 4-го місяця року (квітень), о 02:01 (2-а година першої хвилини).
Якщо одну і ту ж команду виконувати щодня о 02:01, синтаксис буде виглядати так:
1 2 * * * echo "Привіт"
The *
означає «завжди» або «для всіх», напр. для всіх місяців, для всіх днів тижня тощо.
Оператор команди (,
) можна використовувати для введення списку значень, коли завдання потрібно повторити. Наприклад:
0 2,3,4 * * * echo "Привіт"
Програма виконуватиметься щодня о 2, 3 та 4 ранку.
так само, дефіс (-
) оператор можна використовувати для визначення діапазону, для якого завдання має повторюватися. Наприклад:
0-20 2 * * * луна "Привіт"
Програма запускатиметься о 02:00, 02:01, 02:02 і так далі до 02:20.
Нарешті, маємо косий риск ( /
) оператор. Цей оператор використовується для визначення значення інтервалу, відповідно до якого завдання буде повторюватися. напр. */15
у полі хвилин означає, що завдання потрібно повторювати кожні 15 хвилин. 2-10/2
у полі годин вказує, що завдання має повторюватися між 2:00 і 10:00 через кожні 2 години (2:00, 4:00, 6:00, 8:00, 10:00).
*/15 2-10/2 * * * echo "Привіт"
Після того, як ви зробили запис у файлі Cron, збережіть файл і вийдіть з редактора.
Ви повинні побачити a «встановлення нового crontab» повідомлення в терміналі після збереження та виходу з файлу crontab.
Макроси
Певні макроси попередньо визначені в Cron, які визначають деякі зазвичай необхідні часові інтервали, наприклад кожну годину, кожен день, кожен місяць тощо.
Щоб виконувати завдання один раз на день на початку дня, тобто о 00:00, використовуйте макрос @щодня
. Це еквівалентно 0 0 * * *
.
Ви можете помістити це у файл Cron так само, як описано раніше.
Подібним чином можна використовувати й інші макроси, а саме. @щогодини
(Хвилина 0 кожної години), @щомісячно
(00:00 першого числа місяця), @щотижня
(00:00 першого дня тижня, @щороку
(00:00 першого січня кожного року), @reboot
(при кожному запуску комп’ютера).
Висновок
У цій статті ми дізналися, як додати Cron Jobs для регулярного виконання в Linux. Правильне використання Cron Jobs стає зручним навіть для виконання найскладніших ручних завдань, з якими стикається користувач, наприклад. регулярне видалення старих журналів, архівування всіляких холодних даних (даних, які рідко доступні) тощо.