15%

Alexhost виконує ваші бажання

Пройдіть опитування та вигравайте призи

ALEX26
Почати
25.12.2024

Як переглянути та перелічити Cron Jobs за допомогою Crontab

Утиліта cron в операційних системах, подібних до Unix, дозволяє користувачам планувати завдання (команди або скрипти) для автоматичного виконання в певний час або з певними інтервалами. Незалежно від того, чи ви обслуговуєте сервер, чи керуєте автоматизованими завданнями на локальному комп’ютері, cron є незамінним інструментом для системних адміністраторів і розробників.

Ця стаття пояснює, як переглядати та списувати cron завдання за допомогою команди

crontab
, щоб допомогти вам ефективно керувати запланованими завданнями.

Що таке команда Crontab?

Crontab (скорочено від “cron table”) – це файл, який визначає заплановані завдання для демона cron. Кожен користувач в системі, включаючи користувача

root
, може мати свій власний crontab, який вказує, які завдання повинні бути автоматизовані.

Запис 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

Команда

crontab
є основним інструментом для управління cron завданнями. Нижче наведені найпоширеніші способи списування cron завдань.

1. Переглянути свої власні 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
або права root, ви можете переглянути cron завдання для іншого користувача, використовуючи прапорець
-u
:

sudo crontab -l -u username

Замініть

username
на фактичне ім’я користувача. Наприклад:

sudo 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/crontabs
. Щоб списати їх:

ls /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
є простим, але потужним способом керувати запланованими завданнями в системах, подібних до Unix. Незалежно від того, чи ви займаєтеся особистою автоматизацією або завданнями технічного обслуговування на рівні системи, розуміння цих команд забезпечує надійне та своєчасне виконання ваших завдань.

Опанувавши cron, ви можете автоматизувати повторювані завдання, управляти резервними копіями та підтримувати постійне виконання скриптів у вашому середовищі.

15%

Alexhost виконує ваші бажання

Пройдіть опитування та вигравайте призи

ALEX26
Почати