Час/числа
Cron Parser
Розбір cron-виразу (5 чи 6 полів, включно з @-скороченнями) — опис розкладу людською мовою та наступні запуски в обраному часовому поясі.
Cron-вираз — компактний формат розкладу з п’яти чи шести полів (хвилина, година, день місяця, місяць, день тижня, іноді секунда), який складно читати з першого погляду. Інструмент перекладає вираз людською мовою й показує найближчі моменти запуску в обраному часовому поясі.
Як користуватися
- Вставте cron-вираз (наприклад, 0 3 * * * чи скорочення @daily) — одразу з’явиться опис розкладу звичайною мовою.
- Список наступних запусків показує конкретні дати й час у обраному часовому поясі — зручно перевірити, чи не збігається задача з іншою.
- Підтримуються як 5-польові cron-вирази (стандартний Unix cron), так і 6-польові з секундами (Quartz та подібні планувальники).
Типові сценарії
- Перевірка розкладу задачі перед деплоєм — чи справді cron-вираз запускає скрипт тоді, коли планувалося.
- Налагодження ситуації, коли задача запускається частіше чи рідше, ніж очікувалося.
- Планування нового cron-завдання без пошуку довідника по синтаксису щоразу.
Що варто памʼятати
Поля дня місяця й дня тижня в класичному cron об’єднуються через АБО, а не І, якщо жодне з них не «*» — часта причина несподіваних додаткових запусків.
Сервер, на якому виконується cron, може працювати в іншому часовому поясі, ніж очікує розробник — завжди перевіряйте, у якому поясі трактується розклад.
Стаття про цей інструмент: Cron-вирази: як розшифрувати розклад запуску завдань
Часті запитання
Чим 6-польовий cron-вираз відрізняється від 5-польового?
Стандартний cron використовує 5 полів (хвилина, година, день місяця, місяць, день тижня). Деякі планувальники додають шосте поле секунд на початку виразу — інструмент розпізнає обидва формати автоматично.
Що означають скорочення на кшталт @daily?
Це зручні синоніми поширених розкладів: @daily відповідає "0 0 * * *" (щодня опівночі), @hourly — "0 * * * *", @weekly, @monthly та @yearly діють аналогічно.
У якому часовому поясі рахуються наступні запуски?
У тому, який обрано в полі "Часовий пояс". Той самий cron-вираз дає різний абсолютний час запуску залежно від поясу, тому важливо вказати саме той, у якому фактично працює планувальник.
Чи впливає перехід на літній/зимовий час на запуск задачі?
Так, якщо час запуску потрапляє на неіснуючу чи повторювану годину під час переведення годинників. Для критичних задач надійніше планувати час поза типовим вікном переходу або явно використовувати UTC.
Чому вираз з обома вказаними полями дня місяця й дня тижня спрацював, хоча я очікував лише один збіг?
У класичному cron ці два поля об'єднуються через АБО, а не І, коли обидва не є зірочкою — задача запускається, щойно збігається хоча б одна з умов, навіть якщо друга не виконується.