Як відображати та перераховувати завдання Cron за допомогою Crontab
У цій статті ми пояснимо, як відображати та перелічувати завдання cron за допомогою команди crontab, що допоможе вам ефективно керувати запланованими завданнями.
Що таке crontab?
Crontab (скорочення від “таблиця cron”) – це файл, який визначає заплановані завдання у системі cron. Кожен користувач системи, включно з користувачем root, може мати власний кронтаб, який визначає завдання, які він хоче автоматизувати.
Файл crontab складається із завдань cron у наступному синтаксисі:
* * * * * * команда_для_виконання
| | | | |
| | | | | | ----- день тижня (0 - 7) (неділя=0 або 7)
| | | | ---------- місяць (1 - 12)
--------------- день місяця (1 - 31)
-------------------- година (0 - 23)
------------------------- хвилина (0 - 59)
Така структура дозволяє точно контролювати час виконання завдань, що робить cron потужним інструментом автоматизації.
Як створити список завдань cron за допомогою Crontab
Для керування завданнями cron вам знадобиться команда crontab. Тут описано, як відобразити завдання cron для певного користувача або системи.
1. Перегляд власних завдань cron
Щоб переглянути завдання cron поточного користувача, виконайте у терміналі наступну команду:
crontab -l
У результаті буде показано список усіх запланованих завдань для користувача, який наразі увійшов до системи. Якщо завдань cron немає, команда поверне порожній список або повідомлення про те, що для користувача не існує crontab.
Приклад виведення:
# m h dom mon dow команда
0 0 * * * * /home/user/backup.sh
30 2 * * * 7 /home/user/scripts/cleanup.sh
У цьому прикладі
- Скрипт резервного копіюваннязапускається щодня опівночі.
(backup.sh)
- Сценарій очищеннязапускається щонеділі о 2:30 ранку.
(cleanup.sh)
2. Створення списку завдань Cron для іншого користувача
Якщо у вас є привілеї root або sudo, ви можете переглянути завдання cron для будь-якого користувача, використовуючи прапорець
-u
sudo crontab -l -u ім'я користувача
Замініть username на справжнє ім’я користувача, чиї завдання cron ви хочете переглянути.
Наприклад, щоб переглянути завдання cron для користувача на ім’я john, виконайте:
sudo crontab -l -u john
У результаті буде показано усі заплановані завдання cron для цього користувача.
3. Перегляд загальносистемних завдань cron
Окрім призначених для користувача завдань cron, існують загальносистемні завдання cron, які планує система або користувач root. Вони зберігаються у каталогах /etc/crontab, /etc/cron.d/ та каталозі /var/spool/cron/crontabs.
Щоб переглянути список загальносистемних завдань cron, ви можете відкрити і переглянути файл /etc/crontab:
cat /etc/crontab
Висновок може виглядати так:
SHELL=/bin/sh
PATH=/usr/bin:/usr/sbin#
m h dom mon dow команда користувача17 * * * * root cd / && run-parts –report /etc/cron.hourly
25 6 * * * * root test -x /usr/sbin/anacron || ( cd / && run-parts –report /etc/cron.daily )
47 6 * * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts –report /etc/cron.weekly )
52 6 1 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts –report /etc/cron.monthly )
У цьому прикладі
- завдання запускаються о 17-й хвилині кожної години.
/etc/cron.hourly
- завданнязапускаються щодня о 6:25 ранку.
/etc/cron.daily
- завдання виконуються щонеділі о 6:47 ранку.
/etc/cron.weekly
- завдання виконуються першого числа кожного місяця о 6:52 ранку.
/etc/cron.monthly
Ви також можете переглянути завдання у файлі /etc/cron.d/, запустивши його:
ls /etc/cron.d/
Кожен файл у цьому каталозі може містити додаткові завдання cron для системних служб.
4. Перелік завдань cron у каталозі /var/spool/cron/
Користувацькі завдання cron зазвичай зберігаються у каталозі /var/spool/cron/crontabs. Ви можете перейти до цього каталогу і переглянути всі файли завдань cron:
ls /var/spool/cron/crontabs
У результаті буде показано файли кронтабів для кожного користувача. Щоб переглянути вміст кронтабу конкретного користувача, ви можете виконати:
cat /var/spool/cron/crontabs/ім'я користувача
Це надасть той самий результат, що і запуск crontab -l -u ім’я користувача.
Редагування завдань Cron
Якщо вам потрібно змінити або додати нові завдання cron, ви можете відредагувати ваш crontab за допомогою запуску:
crontab -e
Це відкриє ваш кронтаб у текстовому редакторі за замовчуванням, де ви зможете додавати або змінювати наявні завдання.
Наприклад, щоб додати нове завдання, яке запускає скрипт щодня о 3:00 ранку, вам слід додати цей рядок:
0 3 * * * * /home/user/script.sh
Після збереження і виходу з файлу, завдання буде негайно заплановано.
Загальні команди лістингу Crontab
Ось короткий посібник зі створення списку завдань cron у різних сценаріях:
- Вивести список завдань cron поточного користувача:
crontab -l
- Вивести список завдань cron іншого користувача (вимагає sudo):
sudo crontab -l -u ім'я користувача
- Перелік загальносистемних завдань cron:
cat /etc/crontab
- Перелічіть усі завдання cron у :
файлі /etc/cron.d/
ls /etc/cron.d/
- Перегляд завдань cron, що зберігаються в:
/var/spool/cron/crontabs/
ls /var/spool/cron/crontabs
Висновок
Перелік і відображення завдань cron за допомогою crontab – це простий, але потужний спосіб керування запланованими завданнями у Unix-подібних системах. Незалежно від того, чи керуєте ви власними завданнями cron або загальносистемними автоматизованими завданнями, розуміння цих команд допоможе вам забезпечити безперебійне і своєчасне виконання завдань.
Опанувавши cron, ви зможете автоматизувати повторювані завдання, зберігати резервні копії та забезпечити узгоджене виконання сценаріїв у вашому середовищі.