Инструменты InterLAB · Ближайшие запуски · часовые пояса · летнее время

Cron: расписание по-человечески

Введите cron-выражение или соберите его конструктором — инструмент скажет по-русски, когда задание сработает, покажет ближайшие запуски в нужном часовом поясе и выдаст готовый фрагмент для crontab, systemd, GitHub Actions, Kubernetes или node-cron.

Бесплатно, без регистрации

Linux cron · Quartz · GitHub Actions · Kubernetes
Диалект

Vixie cron / cronie: 5 полей, имена JAN–DEC и SUN–SAT, шаги и диапазоны, макросы @daily, @hourly, @reboot. Если заданы и день месяца, и день недели — достаточно совпасть одному (ИЛИ).

Поля через пробел. Можно вставить макрос (@daily) или выбрать пример.

  1. */15минуты0–59
  2. 8-18часы0–23
  3. *день месяца1–31
  4. *месяц1–12, JAN–DEC
  5. 1-5день недели0–7, SUN–SAT

Каждые 15 минут с 08:00 до 18:59 по будням

Конструктор

Ближайшие запуски

…

Как считается переход на летнее время
cronie: задание с фиксированным временем, попавшее в пропущенный час, выполняется сразу после перехода, а в повторившийся час — один раз. Задания с * в минутах или часах идут по новому времени: пропущенное время не выполняется, повторившееся — дважды.

Запуски по дням, 30 дней

Ближайшие 24 часа

Готовые фрагменты

# Каждые 15 минут с 08:00 до 18:59 по будням
*/15 8-18 * * 1-5 /usr/local/bin/report.sh
  • Вывод задания уходит письмом владельцу — добавьте >> /var/log/job.log 2>&1, если почта не настроена.

Как работает инструмент

  1. Разбор по диалекту

    Linux cron (Vixie/cronie), Quartz, GitHub Actions и Kubernetes понимают cron по-разному: число полей, имена, ?, L, W, #, макросы. Ошибка показывается с полем и значением: «Поле «часы»: «24» вне диапазона 0–23».

  2. Описание словами

    Выражение превращается в фразу: «Каждый будний день в 09:00», «Каждые 15 минут с 08:00 до 18:59 по будням». Отдельно — ловушка Vixie cron: если заданы и день месяца, и день недели, достаточно совпасть одному из них.

  3. Ближайшие запуски

    Расчёт идёт по календарю выбранного часового пояса IANA: конец месяца, 29 февраля, високосные годы, переход на летнее время — по правилам конкретной системы. Рядом — карта запусков на 30 дней и шкала ближайших суток.

  4. Конструктор и фрагменты

    Режимы «каждые N минут», «каждый день», «по дням недели», «раз в месяц» и редактор по полям синхронны с выражением. Готовые фрагменты: строка crontab, таймер systemd, on.schedule для GitHub Actions (с пересчётом в UTC), Kubernetes CronJob и node-cron.

Стандарты и правила

Источники: POSIX crontab (IEEE Std 1003.1), cron(8) и crontab(5) из cronie, документация Quartz Scheduler (CronTrigger), GitHub Docs (событие schedule), Kubernetes (CronJob, поле timeZone), документация библиотеки robfig/cron, на которой построен CronJob.

Linux cron

Особенности
Vixie cron / cronie: 5 полей, имена JAN–DEC и SUN–SAT, шаги и диапазоны, макросы @daily, @hourly, @reboot. Если заданы и день месяца, и день недели — достаточно совпасть одному (ИЛИ).
Переход на летнее время
cronie: задание с фиксированным временем, попавшее в пропущенный час, выполняется сразу после перехода, а в повторившийся час — один раз. Задания с * в минутах или часах идут по новому времени: пропущенное время не выполняется, повторившееся — дважды.

Quartz

Особенности
Quartz Scheduler (Java): 6–7 полей — секунды впереди, год в конце; в дне месяца или дне недели обязателен ?; L — последний, W — ближайший будний, # — n-й день недели месяца; дни недели 1–7, 1 = воскресенье.
Переход на летнее время
Quartz (java.util.Calendar): несуществующее время пропускается, повторившееся срабатывает один раз. Поведение зависит от версии — проверьте на своей.

GitHub Actions

Особенности
GitHub Actions on.schedule: 5 полей POSIX, время всегда UTC, минимальный интервал — 5 минут, без макросов; запуск может задерживаться при нагрузке.
Переход на летнее время
GitHub Actions считает в UTC — переходов на летнее время нет; выбранный пояс влияет только на показ.

Kubernetes

Особенности
Kubernetes CronJob (robfig/cron): 5 полей, макросы @hourly…@yearly, ? как *; часовой пояс — полем spec.timeZone (Kubernetes 1.27+).
Переход на летнее время
robfig/cron (Kubernetes): время в пропущенном часе не выполняется (так сказано в документации библиотеки), повторившееся может выполниться дважды.
Диалекты

секунды

Linux / GitHub / Kubernetes
—
Quartz
0–59
Где есть
Quartz

минуты

Linux / GitHub / Kubernetes
0–59
Quartz
0–59
Где есть
все

часы

Linux / GitHub / Kubernetes
0–23
Quartz
0–23
Где есть
все

день месяца

Linux / GitHub / Kubernetes
1–31
Quartz
1–31
Где есть
все

месяц

Linux / GitHub / Kubernetes
1–12, JAN–DEC
Quartz
1–12, JAN–DEC
Где есть
все

день недели

Linux / GitHub / Kubernetes
0–7, SUN–SAT
Quartz
1–7, SUN–SAT
Где есть
все

год

Linux / GitHub / Kubernetes
—
Quartz
1970–2099
Где есть
Quartz
Поля и допустимые значения

@yearly

То же самое
0 0 1 1 *

@annually

То же самое
0 0 1 1 *

@monthly

То же самое
0 0 1 * *

@weekly

То же самое
0 0 * * 0

@daily

То же самое
0 0 * * *

@midnight

То же самое
0 0 * * *

@hourly

То же самое
0 * * * *

@reboot

То же самое
при загрузке системы (только cron)
Макросы (Linux cron, Kubernetes)

Ограничения

  • Правила перехода на летнее время — по документации систем; у Quartz поведение зависит от версии и JVM — проверьте на своей.
  • Часовые пояса берутся из базы браузера (IANA): если в стране недавно сменили пояс, а браузер старый, время может отличаться.
  • GitHub Actions не гарантирует точного времени: при нагрузке запуск задерживается или пропускается. Пересчёт в UTC выполняется для фиксированных часов и минут; шаги и диапазоны часов нужно пересчитать вручную.
  • Перевод между диалектами — только там, где смысл совпадает: секунды, год, L, W и # из Quartz в 5 полях не выражаются, о чём инструмент говорит прямо.
  • Поиск запусков — на 30 лет вперёд; расписание вроде «30 февраля» честно показывается как никогда не срабатывающее.

Приватность

  • Всё считается в вашем браузере; выражение, команда и имя задания никуда не отправляются (выражение — только в краткой сводке, если вы сами приложите её к заявке; команда и имя задания — никогда), адрес страницы не меняется.
  • Выражение и настройки хранятся только в этом браузере (localStorage). «Сбросить» возвращает пример.
  • В аналитику уходит только факт копирования или скачивания фрагмента и его тип (crontab, systemd…) с диалектом — без выражений и команд.
  • Результат уходит к нам, только если вы сами оставите заявку и не снимете галочку «Приложить результат» — что именно уйдёт, видно в форме. Ключи, пароли и токены в сводку не попадают: в ней выражение, диалект, описание, часовой пояс и ближайшие 5 запусков — без команды и имени задания.

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

Все инструменты · 40
Сжатие картинок в WebP и AVIFПеретащите картинки — WebP, AVIF или JPEG по качеству или целевому размеру в КБ, шторка «до/после» 1:1, srcset и <picture>, пакетный ZIP. Всё в браузере.Генератор favicon и иконокИз картинки, SVG или буквы → favicon.ico, favicon.svg с тёмной темой, PNG всех размеров, apple-touch-icon, maskable, manifest и HTML; превью вкладки, iOS и Android — одним архивом.Предпросмотр ссылок (Open Graph)Вставьте HTML или заполните поля — и посмотрите, как ссылка выглядит в Telegram, WhatsApp, VK, Facebook, X, LinkedIn и Slack. Проверка og:image, длины текста и twitter:card, готовый блок <head>.Конвертер JSON, YAML и CSVПеревод между JSON, YAML и CSV с форматированием, сортировкой ключей, проверкой синтаксиса с точным местом ошибки и деревом данных.Тестер регулярных выраженийПодсветка совпадений и групп по мере ввода, замена, разбор выражения по частям, библиотека готовых шаблонов и защита от зависания.Base64, хеши, UUID и ULIDBase64/base64url, Base32, HEX, URL и HTML в обе стороны, хеши текста и файлов любого размера (SHA-256, SHA-3, BLAKE3, MD5, CRC-32), HMAC, сверка контрольных сумм, генерация и разбор UUID v4/v7, ULID и NanoID.
Расскажите о задаче — мы изучим запрос и свяжемся с вами

Нужны надёжные фоновые задачи?

Настроим расписания, очереди и повторные попытки, мониторинг пропущенных запусков и оповещения. Объём и стоимость — после брифа.

  • Первый короткий разговор бесплатный — выбираем формат работы
  • NDA — по вашему или нашему шаблону
  • Стоимость — после брифа и согласования объёма

Не присылайте через форму пароли, ключи доступа и исходный код — безопасную передачу доступа обсудим отдельно.

Нажимая кнопку, вы соглашаетесь с обработкой персональных данных.