Як переглянути та перелічити Cron Jobs за допомогою Crontab
Утиліта cron в операційних системах, подібних до Unix, дозволяє користувачам планувати завдання (команди або скрипти) для автоматичного виконання в певний час або з певними інтервалами. Незалежно від того, чи ви обслуговуєте сервер, чи керуєте автоматизованими завданнями на локальному комп’ютері, cron є незамінним інструментом для системних адміністраторів і розробників.
Ця стаття пояснює, як переглядати та списувати cron завдання за допомогою команди
crontabЩо таке команда Crontab?
Crontab (скорочено від “cron table”) – це файл, який визначає заплановані завдання для демона cron. Кожен користувач в системі, включаючи користувача
rootЗапис crontab має наступний синтаксис:
* * * * * command_to_be_executed
| | | | |
| | | | +----- day of the week (0–7) (Sunday = 0 or 7)
| | | +---------- month (1–12)
| | +--------------- day of the month (1–31)
| +-------------------- hour (0–23)
+------------------------- minute (0–59)
Ця структура дозволяє точно контролювати, коли завдання виконуються, роблячи cron потужним інструментом автоматизації.
Як списати cron завдання за допомогою Crontab
Команда
crontab1. Переглянути свої власні cron завдання
Щоб відобразити cron завдання для поточного користувача, виконайте:
crontab -lЦя команда списує всі заплановані cron завдання для поточного користувача. Якщо cron завдань не існує, вона може повернути порожній результат або повідомлення, що жоден crontab не визначено.
Приклад виходу:
# m h dom mon dow command
0 0 * * * /home/user/backup.sh
30 2 * * 7 /home/user/scripts/cleanup.sh
У цьому прикладі:
- Скрипт резервного копіювання виконується щодня опівночі.
- Скрипт очищення виконується кожної неділі о 2:30 ранку.
2. Списати cron завдання для іншого користувача
Якщо у вас є
sudo-usudo crontab -l -u usernameЗамініть
usernamesudo crontab -l -u johnЦе відображає всі cron завдання, заплановані для вказаного користувача.
3. Списати системні cron завдання
На додаток до специфічних для користувача cron завдань, існують системні cron завдання, заплановані системою або користувачем root. Вони зазвичай зберігаються в:
/etc/crontab/etc/cron.d//var/spool/cron/crontabs/
Щоб переглянути основний системний файл crontab, виконайте:
cat /etc/crontabПриклад виходу:
SHELL=/bin/sh
PATH=/usr/bin:/usr/sbin
# m h dom mon dow user command
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 )
Ця конфігурація заплановує щогодинні, щоденні, щотижневі та щомісячні завдання технічного обслуговування системи.
Щоб списати додаткові системні cron файли, виконайте:
ls /etc/cron.d/Кожен файл у цьому каталозі може визначати додаткові заплановані завдання для системних служб.
4. Переглянути cron завдання в /var/spool/cron
Файли crontab, специфічні для користувача, зазвичай зберігаються в
/var/spool/cron/crontabsls /var/spool/cron/crontabsЩоб переглянути вміст файлу crontab конкретного користувача:
cat /var/spool/cron/crontabs/usernameЦе надає той же вихід, що й
crontab -l -u usernameРедагування cron завдань
Щоб редагувати або додавати cron завдання для поточного користувача, виконайте:
crontab -eЦе відкриває файл crontab у текстовому редакторі за замовчуванням. Після збереження та виходу зміни набирають чинності негайно.
Приклад: запустити скрипт кожного дня о 3:00 ранку:
0 3 * * * /home/user/script.shЗагальні команди для списування Crontab
- Списати cron завдання поточного користувача:
crontab -l - Списати cron завдання іншого користувача (потрібен sudo):
sudo crontab -l -u username - Переглянути системний crontab:
cat /etc/crontab - Списати cron файли в /etc/cron.d/:
ls /etc/cron.d/ - Списати crontab користувачів:
ls /var/spool/cron/crontabs
Висновок
Перегляд та списування cron завдань за допомогою
crontabОпанувавши cron, ви можете автоматизувати повторювані завдання, управляти резервними копіями та підтримувати постійне виконання скриптів у вашому середовищі.
