ArgusРаспределённый Мониторинг Сайтов

cronjob guru

Самый простой способ создавать и понимать cron-выражения.

Загрузка редактора...

Что такое Cron-выражение?

Cron-выражения состоят из 5 полей, разделённых пробелами, которые используются для указания расписания выполнения задачи. Они широко используются в таких средах, как Unix/Linux, AWS, Kubernetes и других инструментах, позволяющих планировать и выполнять повторяющиеся задачи по вашему собственному расписанию.

ПолеДопустимые ЗначенияОписание
Minute0-59Минута часа
Hour0-23Час дня (24-часовой формат)
Day of Month1-31День месяца
Month1-12Месяц года
Day of Week0-6День недели (0 — Воскресенье, 1 — Понедельник и т.д.)

Вот некоторые распространённые случаи использования cron-выражений:

  • Создание резервной копии базы данных каждую ночь в 2:30
  • Запуск скрипта для проверки состояния серверов каждые 15 минут
  • Отправка уведомления пользователям каждый день в 9:00

Специальные Символы

СимволОписание
*
Означает "все значения"
Пример: Каждую минуту, каждый час
,
Используется для разделения нескольких значений
Пример: "1,3,5" означает точно в 1, 3 и 5
-
Используется для определения диапазонов
Пример: "1-5" означает 1, 2, 3, 4, 5
/
Каждая n-я единица
Обычно используется для указания, например, каждых 15 минут, что записывается как */15
L
"Последний День Месяца"
Это значение можно использовать только в поле дня месяца (3-е поле).
Внимание: Этот специальный символ может быть несовместим со всеми исполнителями cron.
-,
Комбинированное Использование Диапазона и Разделителя
Вы можете использовать оператор диапазона и разделитель вместе. Выражение 1-5,9,11-12 раскрывается в 1,2,3,4,5,9,11,12

Распространённые Примеры

Cron-выражениеЗначение
* * * * *Каждую минуту
0 * * * *Каждый час на 0-й минуте
0 0 * * *Каждый день в полночь (00:00)
0 0 * * 0Каждое Воскресенье в полночь
*/15 * * * *Каждые 15 минут
0 0 1 * *В полночь первого числа каждого месяца
0 12 * * 1-5В полдень в будни (Понедельник-Пятница)

Специальные Выражения

Некоторые реализации cron поддерживают специальные сокращённые выражения, упрощающие указание распространённых расписаний.

ВыражениеЭквивалентОписание
@yearly0 0 1 1 *Раз в год в полночь 1 Января
@monthly0 0 1 * *Раз в месяц в полночь первого числа
@weekly0 0 * * 0Раз в неделю в полночь в Воскресенье
@daily0 0 * * *Раз в день в полночь
@hourly0 * * * *Раз в час в начале часа
@rebootN/AВыполнить один раз при запуске (работает, например, с crontab)

Предупреждение о Совместимости

Эти специальные выражения могут быть несовместимы со всеми реализациями cron или системами планирования. Для максимальной совместимости рекомендуется использовать стандартные 5-польные cron-выражения вместо этих сокращений.