15%

Alexhost исполняет ваши желания

Пройдите опрос и выигрывайте призы

ALEX26
Начать
25.12.2024

Как просмотреть и перечислить задания Cron с помощью 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
Начать