Як відображати та перераховувати завдання Cron за допомогою Crontab ⋆ ALexHost SRL

Перевірте свої навички на всіх наших хостингових послугах та отримайте знижку 15%!

Використовуйте код під час оформлення замовлення:

Skills
27.12.2024

Як відображати та перераховувати завдання Cron за допомогою Crontab

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

У цій статті ми пояснимо, як відображати та перелічувати завдання 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)
    запускається щодня опівночі.
  • Сценарій очищення
    (cleanup.sh)
    запускається щонеділі о 2:30 ранку.

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 )

У цьому прикладі

  • /etc/cron.hourly
    завдання запускаються о 17-й хвилині кожної години.
  • завдання
    /etc/cron.daily
    запускаються щодня о 6:25 ранку.
  • /etc/cron.weekly
    завдання виконуються щонеділі о 6:47 ранку.
  • /etc/cron.monthly
    завдання виконуються першого числа кожного місяця о 6:52 ранку.

Ви також можете переглянути завдання у файлі /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, ви зможете автоматизувати повторювані завдання, зберігати резервні копії та забезпечити узгоджене виконання сценаріїв у вашому середовищі.

Перевірте свої навички на всіх наших хостингових послугах та отримайте знижку 15%!

Використовуйте код під час оформлення замовлення:

Skills