Генератор cron-выражений
Конструктор cron-выражений, человеческое объяснение расписания и расчёт пяти ближайших запусков. Формат Vixie cron, расширения L и #.
Объяснение
Объяснить подробнееПустой ввод: введите расписание, например 0 3 * * *.
Конструктор
Ближайшие 5 запусков
Расчёт: пояс браузера.
Считаются ближайшие 10 запусков каждого выражения от текущего момента и сравниваются по времени.
Введите оба расписания — «Сравнить» станет доступна.
Сравнение ещё не выполнено.
Только в первом
Совпадают
Только во втором
Последние выражения
Готовые расписания
Найдено: 41 из 41
- Cron каждую минуту* * * * *
- Cron каждые 5 минут*/5 * * * *
- Cron каждые 10 минут*/10 * * * *
- Cron каждые 15 минут*/15 * * * *
- Cron каждые 30 минут*/30 * * * *
- Cron каждый час0 * * * *
- Cron каждые 3 часа0 */3 * * *
- Cron каждые 4 часа0 */4 * * *
- Cron каждые 6 часов0 */6 * * *
- Cron каждые 12 часов0 */12 * * *
- Cron два раза в день0 6,18 * * *
- Cron каждый день в полночь0 0 * * *
- Cron каждый день в 3 ночи0 3 * * *
- Cron каждый день в 9 утра0 9 * * *
- Cron каждое воскресенье в 3 ночи0 3 * * 0
- Cron каждый понедельник в 9 утра0 9 * * 1
- Cron по рабочим дням в 9 утра0 9 * * 1-5
- Cron по выходным0 9 * * 0,6
- Cron первого числа каждого месяца0 0 1 * *
- Cron в последний день месяца0 0 L * *
- Cron 15-го числа каждого месяца0 0 15 * *
- Cron каждый квартал0 0 1 1,4,7,10 *
- Cron один раз в год 1 января0 0 1 1 *
- Cron каждый вторник в 9 утра0 9 * * 2
- Cron каждую среду в полдень0 12 * * 3
- Cron каждый четверг в 18:000 18 * * 4
- Cron каждую пятницу в 17:000 17 * * 5
- Cron каждую субботу в полдень0 12 * * 6
- Cron каждое воскресенье утром0 10 * * 0
- Cron по будням в полдень0 12 * * 1-5
- Cron по будням в 18:000 18 * * 1-5
- Cron по выходным в полдень0 12 * * 6,0
- Cron первого числа каждого месяца в 3 ночи0 3 1 * *
- Cron в последний день месяца в полдень0 12 L * *
- Cron 1-го и 15-го числа каждого месяца0 0 1,15 * *
- Cron в первый день каждого квартала в 9 утра0 9 1 */3 *
- Cron 25 декабря в полночь0 0 25 12 *
- Cron ежедневный бэкап в 2 ночи0 2 * * *
- Cron каждый час с 9 до 18 по будням0 9-18 * * 1-5
- Cron ежемесячный отчёт 1-го числа в 9 утра0 9 1 * *
- Cron еженедельная очистка в воскресенье в 4 утра0 4 * * 0
Что это и как пользоваться
Конструктор собирает расписание из пяти полей и сразу показывает ближайшие пять запусков — по ним видно, попали ли вы в нужный час, а не только как выглядит строка.
Кроме стандартного синтаксиса Vixie страница понимает расширения Quartz: L в дне месяца означает последний день (L-3 — за три дня до конца), 5#3 — третья пятница месяца, 5L — последняя пятница.
Поля понимают списки (1,15,30), диапазоны (9-17) и шаги, причём шаг применяется и к диапазону: 0-30/10 даст минуты 0, 10, 20 и 30, а не только те, что кратны десяти во всём часе.
Расчёт идёт в выбранном часовом поясе, а не в поясе сервера: по умолчанию берётся пояс браузера, и его можно сменить, чтобы увидеть, когда задача сработает по Москве или по UTC.
Недопустимое значение вроде 60 в минутах указывает на конкретное поле, а не на всё выражение целиком, поэтому ошибку видно сразу при наборе.
Когда пригодится
- Собрать выражение для бэкапа и убедиться по списку запусков, что оно бьёт в 03:00, а не в 15:00.
- Проверить чужой crontab: вставить строку и увидеть, когда она реально срабатывает в вашем поясе.
- Задать «последний день месяца» через L вместо перечисления 28–31.
- Перевести «каждые 15 минут» в */15 и посмотреть, что запуски идут в 0, 15, 30 и 45 минут.
- Сравнить */5 и 0-30/5: разница видна только по списку запусков, а не по записи выражения.
- Разобраться, почему задача запускается дважды: при двух ограниченных полях дня срабатывает совпадение любого из них.
Чего инструмент не делает
- Задачи не запускаются: страница только разбирает выражение и считает моменты срабатывания.
- Шестипольный синтаксис с секундами не поддерживается — полей ровно пять, как в Vixie cron.
- Переменные окружения, рабочая директория и путь к логу в выражение не входят: это строки crontab, а не часть расписания.
- Праздники и рабочие дни не учитываются: «каждый будний день» задаётся полем дня недели, а исключения придётся проверять в самом скрипте.
- Если заданы и день месяца, и день недели, запуск происходит при совпадении хотя бы одного — так устроен Vixie cron, и это частый источник лишних запусков.
Примеры
- Вход
0 3 * * *- Выход
каждый день в 03:00- Вход
0 10 * * 5#3- Выход
третья пятница месяца в 10:00
Частые вопросы
Из чего состоит cron-выражение?
Обычно пять полей: минута, час, день месяца, месяц и день недели. Значение * означает «любой». Например, 0 3 * * * означает каждый день ровно в 03:00.
Чем отличаются * и ? в дате?
В cron вопросительный знак означает «без ограничения по этому полю» и нужен, чтобы два поля даты не конфликтовали между собой. Звёздочка означает «каждый», и задавать оба поля даты как * одновременно бессмысленно.
Что значит запись с шагом */5?
Шаг означает «каждые N». В минутах */15 даёт 0, 15, 30 и 45. В днях 1-15/3 даёт 1, 4, 7, 10 и 13 — то есть каждый третий день в указанном диапазоне.
Почему 0 0 29 2 * срабатывает редко?
Это 29 февраля, которое бывает только в високосные годы. Cron выполнит задачу лишь в те годы, где такая дата существует, и пропустит все остальные.
В каком часовом поясе работает cron?
Серверный cron обычно живёт в UTC или в системном поясе хоста. Если нужно «по Москве», учитывайте смещение при настройке. Этот инструмент показывает ближайшие запуски в выбранном вами поясе.
Можно ли задать каждый N-й день недели?
Да: 0 9 * * 1#1 означает первый понедельник месяца — это расширение Quartz. Обычный cron такое не всегда понимает, поэтому проверяйте документацию вашего планировщика.
Чем cron отличается от systemd timers?
Cron — классический планировщик по расписанию, а systemd timers дают зависимости между заданиями, логи через journald и триггеры по событиям. Выбор зависит от среды и от того, нужны ли такие возможности.