Задания Cron – это запланированные задачи, которые выполняются автоматически через определенные промежутки времени в Unix-подобных системах. Они часто используются для обслуживания системы, резервного копирования, автоматизации сценариев и других повторяющихся задач. Если вы управляете своим сервером или устраняете неполадки, знание того, как выводить список и просматривать задания cron, очень важно. В этом руководстве вы узнаете, как отобразить существующие задания cron с помощью команды crontab.

Что такое Crontab?

crontab stands for cron table. It is a file that contains a list of cron jobs for a particular user. Each line in this file represents a task and its scheduled time.

Как просмотреть задания Cron текущего пользователя

Чтобы просмотреть задания cron для текущего пользователя, просто откройте терминал и выполните команду:

crontab -l

Эта команда выведет содержимое файла crontab текущего пользователя. Если ни одно задание не запланировано, вы увидите сообщение вида:

нет crontab для [имя пользователя]

Просмотр Cron-заданий другого пользователя (с правами root)

Если у вас есть права root и вам нужно проверить задания cron для другого пользователя, используйте флаг -u, за которым следует имя пользователя:

sudo crontab -u username -l

Пример:

sudo crontab -u www-data -l

Это полезно при управлении задачами системного уровня или устранении неполадок с заданиями cron для определенных служб.

Просмотр общесистемных заданий Cron

Помимо пользовательских кронтабов, система также хранит запланированные задания в различных местах:

1. Файл системного кронтаба

cat /etc/crontab

Этот файл содержит задачи, запланированные системой, и часто включает записи для разных пользователей.

2. Каталоги заданий Cron

Вы также можете найти скрипты в этих каталогах:

  • /etc/cron.hourly/

  • /etc/cron.daily/

  • /etc/cron.weekly/

  • /etc/cron.monthly/

Каждый скрипт, размещенный в этих директориях, выполняется с соответствующим интервалом.

3. Каталог Cron.d

ls /etc/cron.d/

Этот каталог содержит дополнительные определения cron для служб и приложений.

Понимание формата Crontab

Каждая строка в файле crontab имеет следующий синтаксис:

* * * * * * команда_для_выполнения
│ │ │ │ │
│ │ │ │ │ └──── День недели (0 - 7) [воскресенье=0 или 7]
│ │ │ │ └──── Месяц (1 - 12)
│ │ │ └────── День месяца (1 - 31)
│ └──────── Час (0 - 23)
└────────── Минута (0 - 59)

Пример:

0 2 * * * /usr/bin/backup.sh

Это означает “запускать /usr/bin/backup.sh каждый день в 2:00 AM”.

Профессиональный совет: Очистка вывода с помощью grep

Если вы ищете конкретные задания, вы можете отфильтровать вывод:

crontab -l | grep backup

Резюме

Вот краткий обзор того, как выводить список заданий cron:

ЗаданиеКоманда
Список заданий cron текущего пользователяcrontab -l
Список заданий cron другого пользователяsudo crontab -u имя пользователя -l
Просмотр системного кронтабаcat /etc/crontab
Список заданий cron в системных каталогахls /etc/cron.*
Просмотр конкретных заданий cron`crontab -l

Освоив эти простые команды, вы сможете легко проверять и управлять заданиями cron в любой системе Unix или Linux. Регулярный просмотр запланированных заданий обеспечит эффективную работу системы и позволит избежать нежелательных сюрпризов.