Генератор cron-выражений

0-59

0-23

1-31

1-12

0-7 (0,7=Вс)

Далее

Синтаксис cron лаконичен, и в нём легко ошибиться: 0 */6 * * * запускается каждые шесть часов, а */6 0 * * * срабатывает десять раз, только в течение первого часа после полуночи. Этот генератор позволяет визуально задать расписание (каждые 15 минут, по будням в 9 утра, 1-го числа каждого месяца) и выводит точное выражение вместе с понятным описанием того, что оно означает.

Как создать cron-выражение

  1. 1

    Выберите пресет или введите поля

    Каждую минуту, каждый час, ежедневно в полночь, еженедельно по воскресеньям и 1-го числа каждого месяца: всё в один клик. Для всего остального вводите значения прямо в пять полей.

  2. 2

    Уточните график

    Конкретные минуты, часы, дни месяца, месяцы и дни недели. Поддерживаются диапазоны (9–17), списки (1, 15) и шаги (*/6).

  3. 3

    Прочитайте выражение

    Генератор всегда выдаёт стандартный формат cron из 5 полей, а также понятное описание расписания.

  4. 4

    Проверьте диалект

    Диалекты различаются (Quartz, AWS EventBridge, Kubernetes). Убедитесь, что выражение соответствует тому, что ожидает ваш планировщик.

Пять полей

*  *  *  *  *
│  │  │  │  │
│  │  │  │  └── День недели (0-6, воскресенье=0, или SUN-SAT)
│  │  │  └───── Месяц (1-12, или JAN-DEC)
│  │  └──────── День месяца (1-31)
│  └─────────── Час (0-23)
└────────────── Минута (0-59)

Каждое поле принимает следующие значения:

  • Конкретное число: 5
  • Список: 1,15,30
  • Диапазон: 9-17
  • Шаг: */10 (каждые 10) или 0-30/5 (каждые 5 от 0 до 30)
  • Подстановочный знак: * (любое значение)

Распространённые выражения

Расписание Cron-выражение
Каждую минуту * * * * *
Каждые 15 минут */15 * * * *
Каждый час ровно 0 * * * *
Каждые 6 часов 0 */6 * * *
Каждый день в 2:30 ночи 30 2 * * *
По будням в 9:00 0 9 * * 1-5
Каждый понедельник в 8:00 0 8 * * 1
1-го числа каждого месяца в 3:00 0 3 1 * *
Каждые 15 минут по будням с 9 до 17 */15 9-17 * * 1-5
Полдень 1-го и 15-го числа 0 12 1,15 * *
Каждое воскресенье в полночь 0 0 * * 0

Подвох с днём месяца и днём недели

В стандартном cron, если заданы и день месяца, и день недели (оба не *), задача запускается при совпадении любого из них (логика OR, а не AND). 0 0 1 * MON выполняется 1-го числа каждого месяца и каждый понедельник, а не только когда 1-е число приходится на понедельник.

Vixie cron и большинство дистрибутивов Linux следуют этому правилу OR; Quartz (Java) и некоторые другие используют AND. Если сомневаетесь, проверьте выражение сухим запуском (dry run) или тестовой задачей в своём планировщике.

Различия диалектов

  • Стандартный cron (Linux): 5 полей, день недели 0-6 (воскресенье = 0 или 7).
  • Quartz (Spring, Java-приложения): 6-7 полей, где первое поле, секунды, а год необязателен. День недели 1-7 (воскресенье = 1).
  • AWS EventBridge cron: 6 полей, включая год. День недели и день месяца должны быть взаимоисключающими (одно из них должно быть ?).
  • GitHub Actions: стандартные 5 полей, минимальный интервал 5 минут, только UTC.
  • Kubernetes CronJob: стандартные 5 полей, по умолчанию UTC.

Всегда уточняйте, какой диалект использует ваш планировщик.

Часовые пояса

Классический cron работает в локальном часовом поясе сервера. Это создаёт серьёзные проблемы при переходе на летнее время: задача в 2:30 ночи в день перевода часов может выполниться дважды или не выполниться вовсе. Современные планировщики (systemd timers, Kubernetes, EventBridge) позволяют явно указать часовой пояс, используйте UTC, если у вас нет веской причины поступить иначе.

Часто задаваемые вопросы

Каждые 5 единиц поля, начиная с 0. В поле минут */5 срабатывает на минутах 0, 5, 10, 15, …, 55. Это сокращённая запись для 0,5,10,15,20,25,30,35,40,45,50,55.

Cron не может выразить произвольные интервалы, которые не делятся нацело на 60 минут или 24 часа. Для 90 минут перечислите конкретное время запусков: комбинируйте 0 0,9 * * * с дополнительными строками либо перейдите на планировщик, поддерживающий произвольные интервалы (systemd timers, anacron).

В полночь. Порядок полей, минута, затем час, поэтому 0 0 означает «минута 0 часа 0». Полдень, это 0 12 * * *.

Стандартный cron пропускает её, пропущенные запуски не повторяются. Anacron при следующей загрузке выполняет пропущенные ежедневные, еженедельные и ежемесячные задачи. У Kubernetes CronJob есть startingDeadlineSeconds и concurrencyPolicy для явной обработки пропущенных окон выполнения.

Сопутствующие инструменты

Справочная таблица ASCII

Полная таблица ASCII от 0 до 127 с десятичным, шестнадцатеричным, восьмеричным и двоичным представлением, а также записью числовых ссылок HTML, включая NUL, LF и DEL.

Справочник сочетаний клавиш

Ищите документированные сочетания по умолчанию для VS Code, Chrome и Bash с GNU Readline в macOS, Windows и Linux.

Справочник символов HTML

Справочник HTML-сущностей с поиском, их именованными и числовыми кодами, а также копированием специальных символов и знаков одним кликом.

Счетчик FPS

Измерьте FPS браузера через requestAnimationFrame: сглаживание, минимальная и максимальная частота кадров, порог предупреждения и график по желанию. Работает локально, без загрузок и API.

Генератор случайных букв

Генерируйте случайные буквы A-Z. Выберите количество, верхний или нижний регистр либо смешанный вариант для игр, заданий и уроков.

Генератор цветовой палитры

Создавайте монохромные, аналоговые, комплементарные, триадные или тетрадные палитры из базового HEX-цвета и экспортируйте готовые CSS-переменные.

Инструмент доступен на других языках