Прекратите поискать синтаксис Cron — для этого есть генератор
Выражения Cron — это одна из тех вещей, которые вы используете постоянно, но редко запоминаете. Вот что означают пять полей, ошибки, которые мешают людям, и почему онлайн-генератор выражений Cron — это более умный подход.
Сейчас 2 часа ночи. Запланированное развертывание — в 6 утра. Вам нужно дважды проверить, что крон-задача действительно сработает в нужное время. Поэтому вы открываете новую вкладку и вводите «cron syntax» в Google. Опять.
Это ритуал перехода. Каждый разработчик, который когда-либо работал с сервером Linux, делал это хотя бы один раз — и большинство из нас делали это больше, чем хотели бы признавать. Синтаксис крон-выражений — одно из тех вещей, которые вы используете постоянно, но никогда не запоминаете. Синтаксис находится в неприятной зоне между «слишком простым, чтобы искать» и «достаточно специфичным, чтобы ошибиться».
Существует лучший способ. Используйте онлайн-генератор крон-выражений и пусть инструмент обработает синтаксис, а вы сосредоточитесь на том, что действительно важно.
Почему синтаксис крона не запоминается
Крон имеет пять полей. Пять. Это всё. И тем не менее, порядок вызывает у людей сбои каждый раз:
# ┌───────────── minute (0–59)
# │ ┌───────────── hour (0–23)
# │ │ ┌───────────── day of month (1–31)
# │ │ │ ┌───────────── month (1–12)
# │ │ │ │ ┌───────────── day of week (0–6, Sunday=0)
# │ │ │ │ │
* * * * * command
Проблема не в том, что это сложно — в том, что существует достаточно специальных символов, чтобы вызвать неоднозначность. Что означает «каждые 5 минут» или «в минуте 5»? Запускается ли в 9 утра или 9 вечера? Что произойдёт, если вы забудете, что месяцы начинаются с 1, а дни недели начинаются с 0? */5 Это не ловушки для новичков. Это ловушки для всех. Неправильно настроенная крон-задача — один из тихих способов введения инцидента в производственной среде — такой, при котором ничего не крашится сразу, а просто не запускается, и вы замечаете это только через три дня. 0 9 * * 1-5 Пять полей, объяснённых без ритуалов
Вот практическая версия:
Минута
(0–59) — минута часа, когда запускается задача.
- означает 30-ю минуту. означает каждые 15 минут.
30Час*/15(0–23) — используется 24-часовой формат. - означает 9 утра. означает 17 часов. Нет никакого AM/PM.
9День месяца17(1–31) — какой календарный день. - означает первый день месяца. означает 15-й день.
1Месяц15(1–12) — январь — - , декабрь — . Вы также можете использовать названия:
1, и т. д.12День неделиJAN,FEB(0–6 или 1–7) — воскресенье может быть - в зависимости от реализации крона. Понедельник всегда — . Это поле вызывает наибольшее недопонимание.
0или7Специальные символы, которые важны1— все возможные значения (каждую минуту, каждый час и т. д.)
— каждые
*интервал.*/nв поле минут означает каждые 5 минут. ```— диапазон.*/5в поле дня недели означает понедельник по пятницу.a-b— список.1-5означает понедельник, среду, пятницу.a,b,c— сокращённые алиасы. Не поддерживаются во всех версиях.1,3,5Частые ошибки, которые мучают людей@reboot,@hourly,@daily1. Забывание о времени зоны
Крон работает в локальной временной зоне сервера. Если ваш сервер находится в UTC, а вы в Нью-Йорке,
не запускается в 9 утра восточного времени — запускается в 4 или 5 утра, в зависимости от перехода на летнее время. Всегда знайте временную зону своего сервера. Всегда.
2. Использование как дня месяца, так и дня недели 0 9 * * * Если вы указываете значение в обоих полях — день месяца
и день недели (вместо
в одном из них), большинство реализаций крона интерпретируют это как ИЛИ — задача запускается, когда выполняется любое из условий. Это почти никогда не то, что вы хотите. и 3. Ожидание, что */1 означает «один раз» * одинаково с
. Это означает «каждый раз». В стандартном кроне нет способа выразить «один раз» — для этого нужно использовать
*/1 или одноразовый таймер systemd. *4. Не проверяя до развертывания at Крон не даёт немедленной обратной связи. Вы пишете выражение, сохраняете crontab и ждёте. Если оно неверно, вы узнаёте в 3 утра, когда запланированная резервная копия не запускается. Именно поэтому использование
калькулятора следующего запуска крона
до развертывания стоит 30 секунд. Используйте генератор крон-выражений вместо этого Честный совет: перестаньте пытаться вручную писать крон-выражения из памяти. Используйте генератор. Это не признак слабости — это способ избежать глупых ошибок в производственной среде.
генератор крон-выражений на IOTools
позволяет визуально строить любое выражение — выберите интервал минут, час, день недели и получите точное выражение и простое объяснение, когда оно запускается. Не требуется запоминание, не нужно открывать документацию.
The Как только вы получите выражение, проверьте его через . Вставьте выражение, получите следующие 5–10 запланированных времени выполнения. Это занимает пять секунд и сразу покажет, если вы случайно запланировали задачу очистки для запуска каждый час вместо раз в день.
Этот второй контроль — тот, который большинство людей пропускают. Не пропускайте его. Используйте генератор крон-выражений вместо этогоБыстрый справочник: выражения, которые вы будете использовать
Выражение
Каждый час, в точности в час
| Каждый день в 9:00 утра | Значение |
|---|---|
* * * * * | Каждую минуту |
0 * * * * | Понедельник по пятницу в 9:00 утра |
0 9 * * * | Каждое воскресенье в полночь |
0 9 * * 1-5 | Первый день каждого месяца в полночь |
*/15 * * * * | Каждые 15 минут |
0 0 * * 0 | 1-е и 15-е число месяца в 4:30 утра |
0 0 1 * * | Понедельник по пятницу в 22:00 |
30 4 1,15 * * | Один раз в день в полночь (сокращение) |
0 22 * * 1-5 | Остановите поиск синтаксиса крона — существует генератор для этого 2 |
@daily | Остановите поиск синтаксиса крона — существует генератор для этого 1 |
Установите наши расширения
Добавьте инструменты ввода-вывода в свой любимый браузер для мгновенного доступа и более быстрого поиска
恵 Табло результатов прибыло!
Табло результатов — это интересный способ следить за вашими играми, все данные хранятся в вашем браузере. Скоро появятся новые функции!
Подписаться на новости
все Новые поступления
всеОбновлять: Наш последний инструмент было добавлено 5 мая 2026 года
