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

Работает в обе стороны. Собирает строку расписания из понятных полей — каждый час, по будням в 9:30, первого числа месяца — и наоборот, разбирает готовое выражение и объясняет его по-русски.

Выражение

0–59
0–23
1–31
1–12
0–7, 0 и 7 — вс

Что это значит

30 9 * * 1-5
—

Пять полей и четыре знака

Строка cron задаёт расписание пятью полями: минуты, часы, день месяца, месяц и день недели. Инструмент работает в обе стороны — собирает выражение из понятных полей и разбирает готовую строку на человеческий язык, показывая ближайшие даты запуска.

В каждом поле работают четыре знака. Звёздочка означает любое значение, запятая перечисляет, дефис задаёт диапазон, косая черта — шаг. Запись «*/15» в минутах даёт запуск каждые пятнадцать минут, «1-5» в дне недели — по будням, «0 9 * * 1» — каждый понедельник в девять утра.

Главная ловушка — совпадение дня месяца и дня недели. Когда оба поля заданы явно, задача выполняется в объединении условий, хотя ждёшь пересечения: запись «0 0 13 * 5» запустит её и тринадцатого числа, и каждую пятницу. Это поведение унаследовано от первых реализаций и закреплено стандартом.

Табельные часы
Расписание по времени автоматизировали задолго до серверов. Фото: Jonathan Mauer, CC BY-SA 4.0.
ВыражениеКогда сработает
0 * * * *Каждый час ровно
*/15 * * * *Каждые 15 минут
30 9 * * 1-5По будням в 9:30
0 3 1 * *Первого числа в 3 часа ночи
0 0 * * 0Каждое воскресенье в полночь

От Unix V7 до демона Пола Викси

Первый cron появился в седьмой редакции Unix в 1979 году и был устроен наивно: он просыпался каждую минуту и перечитывал таблицу заданий целиком. На машине с десятком пользователей это работало, на большой системе стало заметной нагрузкой.

Современную версию написал Пол Викси в 1987 году. Его демон читает таблицу один раз, держит задания в очереди и просыпается ровно к следующему сроку. Vixie cron разошёлся по всем системам семейства Unix и остаётся основой до сих пор.

Название идёт от греческого «хронос» — время. Формат из пяти полей за сорок с лишним лет почти не изменился, и строка, написанная в восьмидесятые, работает сегодня без правок. Расширения вроде секундного поля или записи «@daily» появились позже и поддерживаются не везде. Современные системы часто заменяют cron собственными планировщиками с журналом, зависимостями и повторными попытками, но синтаксис из пяти полей они обычно сохраняют ради привычки.

Расписание
Табличное расписание: та же идея, только исполняет её человек. Фото: Sludge G, CC BY-SA 2.0.

Как проверить расписание и куда не ставить запуск

Соберите расписание полями или вставьте готовую строку для разбора. Обязательно посмотрите на список ближайших запусков: он сразу показывает, если выражение поняли не так. Ошибка в поле дня недели или лишняя звёздочка чаще всего видна именно по датам.

Ставьте тяжёлые задачи на нечётное время. Запуск ровно в полночь и ровно в полдень — самые загруженные минуты на любом сервере, потому что туда сходятся расписания всех сервисов сразу. Сдвиг на семь минут заметно разгружает пик.

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

Логируйте запуски. Демон расписания молчалив: если задача упала, вы узнаете об этом только по последствиям. Простейшая защита — писать в файл время старта и код возврата, а на длинных задачах ещё и проверять, что предыдущий запуск завершился.

Проверьте, от чьего имени работает задание. Демон расписания запускает команду с урезанным окружением: переменные, которые есть в вашей оболочке, там отсутствуют, и скрипт, работающий из консоли, по расписанию падает. Пути к программам в таком задании пишут полностью.

Полей в строкепять
Порядок полейминуты, часы, день, месяц, день недели
Любое значениезвёздочка
Шагкосая черта
Первый cronUnix V7, 1979
Vixie cron1987
День месяца и недели вместеобъединение условий
Происхождение названиягреческое «время»

Как пользоваться

Под ответом список ближайших десяти запусков с датами и днями недели: это самый быстрый способ убедиться, что задача пойдёт тогда, когда вы думаете. Отдельно инструмент предупреждает о классических ловушках: одновременно заданные день месяца и день недели складываются по «или» (совпадения сразу двух условий cron не требует), а 31 число просто пропускается в коротких месяцах.

  1. Минуты, часы, дни, месяцы и дни недели. Каждое поле принимает списки, диапазоны и шаги.
  2. Поле сверху принимает строку из пяти частей — она сразу разберётся по полям.
  3. Инструмент переводит выражение на русский и подсвечивает ошибочные части.
  4. Десять дат вперёд от текущего момента — так видно реальное поведение расписания.

Частые вопросы

Из чего состоит строка crontab

Из пяти полей через пробел: минуты (0–59), часы (0–23), день месяца (1–31), месяц (1–12) и день недели (0–7, где 0 и 7 — воскресенье). Дальше идёт команда, но её инструмент не трогает. Шестое поле с секундами встречается в планировщиках приложений, в системном cron его нет.

Что означают символы в полях

Звёздочка — любое значение. Запятая перечисляет: 1,15 — первое и пятнадцатое. Дефис задаёт диапазон: 9-18. Слэш задаёт шаг: */15 в минутах означает каждые пятнадцать минут, а 0-30/10 — на нулевой, десятой, двадцатой и тридцатой.

Почему задача с 31 числом иногда не запускается

Потому что в феврале, апреле, июне, сентябре и ноябре такого дня нет, и cron просто пропускает месяц. Если задача должна идти в последний день месяца, обычный приём — запускать её первого числа следующего и работать с прошлым периодом либо ставить проверку внутри самого скрипта.

Как складываются день месяца и день недели

По «или»: достаточно совпадения одного из двух полей. Это самая частая ошибка. Выражение «0 0 1 * 1» запустит задачу и первого числа каждого месяца, и каждый понедельник. Чтобы получилось именно «первый понедельник», одно из полей оставляют звёздочкой и добавляют проверку в скрипте. Инструмент предупреждает, когда оба поля заданы одновременно.

В каком часовом поясе идут запуски

В том, который стоит на сервере. Это регулярно ломает расписания после переезда и при работе с командой в других часовых поясах: строка та же, а время другое. Ближайшие запуски здесь считаются по времени вашего браузера — сверяйте с сервером.

Что происходит при переводе часов

В странах с сезонным переводом задача, назначенная на пропавший час, в этот день пропускается, а назначенная на повторяющийся выполняется дважды. В России перевода нет с 2014 года, но если сервер стоит за границей, это стоит держать в голове.

Спросите нейросети об инструменте

Отвечает DeepSeek по данным этой страницы и тому, что у вас сейчас на экране: что делает, как устроен, ограничения

Похожие инструменты

Разница во времени между городами

Который час в другом городе и на сколько часов он впереди. Полоса суток с отметкой рабочего окна показывает, когда удобно созвониться.

Открыть
Линейка онлайн

Сантиметры и дюймы на экране, вертикальный и полноэкранный режимы, метки для замера предмета и калибровка по банковской карте, монете или диагонали.

Открыть
Конверт распечатать

Развёртка конверта из листа A4 для склейки: C6, DL, для денег, мини и квадрат с поздравлением, эмодзи и узором; адрес «Кому и Куда» с индексом на готовом конверте C6, DL, C5, C4. PDF в размер и PNG 300 dpi.

Открыть
Макет печати

Круглая печать ООО или ИП и прямоугольный штамп: текст по дуге, ИНН и ОГРН в кольце, эмблема, цвет мастики, диаметр в мм, зернистость оттиска. PNG 300 dpi на прозрачном фоне, SVG и PDF в натуральную величину.

Открыть
Табличка на дверь

Кабинет с номером, должностью и ФИО, класс с учителем, надписи «Не беспокоить», «Закрыто», «Совещание», организация с этажом и часами. Четыре оформления, эмодзи, A4, A5, полоса 300×100, двусторонняя. PDF и PNG 300 dpi.

Открыть
Компас онлайн

Стороны света и азимут по датчику телефона, роза ветров с 16 румбами, направление и расстояние до Мекки или любых координат, заморозка показаний.

Открыть

Ещё инструменты для кода и данных

Base64 и URL, форматтер и сравнение JSON, хеши, регулярные выражения, cron, подсети, UUID, QR-код и Unix-время — в разделе 42 инструмента.