Тестер cron-выражений (предпросмотр следующих 5 запусков)
Введите 5-полевое cron-выражение (мин, час, день месяца, месяц, день недели) и просмотрите следующие 5 моментов срабатывания. Включены распространённые пресеты.
- 1.вторник, 19 мая 2026 г. в 09:00
- 2.среда, 20 мая 2026 г. в 09:00
- 3.четверг, 21 мая 2026 г. в 09:00
- 4.пятница, 22 мая 2026 г. в 09:00
- 5.понедельник, 25 мая 2026 г. в 09:00
Как это работает
Синтаксис cron в пяти полях
Стандартный cron состоит из 5 полей, разделённых пробелами: минута (0–59), час (0–23), день месяца (1–31), месяц (1–12), день недели (0–6, 0=воскресенье). Каждое поле принимает: одиночное значение (5), диапазон (1-5), список (1,3,5), шаг (*/15 означает каждые 15) или подстановочный знак (*). Комбинации работают: 1-5,10/2 означает 1–5, затем каждый второй начиная с 10.
Тестер использует строгий диалект POSIX/Linux crontab. Некоторые системы расширяют cron именованными месяцами (JAN-DEC) или днями недели (SUN-SAT) — они здесь не поддерживаются. Используйте числовые значения для полной совместимости.
Распространённые шаблоны
*/5 * * * * — каждые 5 минут. Удобно для обновления кэша и коротких опросов.
0 9 * * 1-5 — 9:00 каждый будний день. Отчёты в рабочее время.
0 0 1 * * — полночь 1-го числа каждого месяца. Ежемесячные расчёты или сводки статистики.
0 */6 * * * — каждые 6 часов (00:00, 06:00, 12:00, 18:00). Длинные опросы.
0 0 * * 0 — полночь каждое воскресенье. Еженедельные отчёты.
*/15 9-17 * * 1-5 — каждые 15 минут в рабочее время, будни. Активный опрос.
День месяца против дня недели
Оба поля принимают значения, но осторожно: в стандартном диалекте, когда оба поля заданы (не '*'), cron срабатывает при выполнении ЛЮБОГО из условий, а не обоих. Так `0 0 1 * 1` (1-е число месяца ИЛИ понедельник) срабатывает чаще, чем можно ожидать.
Чтобы ограничиться «первым понедельником месяца», cron сам по себе не может это сделать — нужно либо запускать скрипт ежедневно и проверять внутри, что день месяца ≤ 7, либо использовать планировщик (Airflow, GitHub Actions schedule + проверка), поддерживающий более выразительное расписание.
Частые вопросы
›Почему 5 запусков показаны в моём местном часовом поясе?
Cron всегда работает в местном часовом поясе хоста. Здесь отображается часовой пояс вашего браузера. Реальные демоны cron следуют TZ сервера; проверьте ваш хост.
›Можно ли использовать именованные месяцы/дни недели?
Пока нет — только числовые значения. Позднее можно добавить псевдонимы типа JAN/MON.
›В чём разница между * и ??
В стандартном cron они идентичны. Некоторые диалекты Quartz используют ? для обозначения «не указано» в полях дня месяца и дня недели. Стандартный cron обрабатывает их одинаково.
›Почему день месяца + день недели работает не так, как ожидаю?
Когда оба поля не равны '*', стандартный cron использует ИЛИ (совпадение любого). Для И («первый понедельник месяца») нужен скрипт-обёртка или более выразительный планировщик.
›Поддерживаются ли секунды?
Стандартный cron с точностью до минуты. Некоторые системы добавляют шестое поле для секунд; мы его не поддерживаем. Для точности до секунды используйте setInterval или другой планировщик.
›Какова минимальная гранулярность?
Уровень минут. Расписания с точностью менее 1 минуты нельзя выразить в cron.
›Могу ли я тестировать cron-выражения для прошлых дат?
Вычисление ведётся вперёд от «сейчас». Для исторического анализа используйте библиотеку cron на языке программирования.
›Данные покидают браузер?
Нет. Разбор и вычисления выполняются полностью локально.
Похожие инструменты
Обновлено: