Парсер выражений Cron
Разбирайте выражения cron и смотрите человекочитаемое объяснение времени их выполнения. Идеально подходит для разработчиков и системных администраторов, которым необходимо создать или понять расписание работы cron. Избегайте ошибок при составлении расписания, наглядно представляя, когда именно будут выполняться ваши cron-выражения.
Часто задаваемые вопросы
Выражение cron - это строка из 5 или 6 полей, определяющая расписание для автоматических задач в Unix-подобных системах. Поля представляют собой: минуту (0-59), час (0-23), день месяца (1-31), месяц (1-12) и день недели (0-7, где 0 и 7 - воскресенье). Например, '0 9 * * 1' означает "запускать в 9:00 утра каждый понедельник".
Start with five asterisks (* * * * *) representing minute, hour, day, month, weekday. Replace asterisks with specific values or ranges. For example: '30 14 * * *' runs at 2:30 PM daily, '0 0 1 * *' runs at midnight on the 1st of each month, '*/15 * * * *' runs every 15 minutes. Use our parser to verify your expression does what you expect.
Звездочка означает "каждый" или "любой" для данной единицы времени. Например, * в поле часа означает каждый час, * в поле дня - каждый день. Таким образом, "0 * * * *" означает "на 0-й минуте каждого часа" (ежечасно), а "* * * * *" - "каждую минуту". Это подстановочный знак, который соответствует всем возможным значениям для данного поля.
Используйте синтаксис значения шага: */N. Каждые 5 минут: '*/5 * * * *'. Для каждых 3 часов: '0 */3 * * *'. Синтаксис */N означает "каждое N-ое значение" - таким образом, */5 в поле минут означает минуты 0, 5, 10, 15 и т. д. Можно также использовать диапазоны с шагом, например '0-30/5' для каждых 5 минут в течение первого получаса.
Да! Используйте 1-5 в поле дня недели (5-е поле). Например, '0 9 * * 1-5' запускается в 9 утра с понедельника по пятницу. Понедельник - это 1, а пятница - 5. Вы также можете перечислить конкретные дни: '0 9 * * 1,3,5' запускается в 9 утра только в понедельник, среду и пятницу.
Это два разных способа указать, в какие дни выполняется задание. День месяца (3-е поле) использует даты 1-31, а день недели (5-е поле) - 0-7 (0 и 7 - воскресенье). Если указаны оба варианта (не *), задание запускается при совпадении одного из условий. Например, '0 0 1 * 1' запускается в полночь 1-го числа каждого месяца И каждый понедельник.
С 9 утра до 5 вечера в будние дни: '0 9-17 * * 1-5' запускается в начале каждого часа. Каждые 30 минут в рабочее время: '*/30 9-17 * * 1-5'. Часовой диапазон 9-17 охватывает время с 9 утра до 5 вечера, а 1-5 ограничивает выполнение понедельником-пятницей.
Они эквивалентны - оба запускаются в полночь ежедневно. Многие реализации cron поддерживают специальные строки @daily, @hourly, @weekly, @monthly и @yearly в качестве сокращений. Они более удобны для чтения, но менее гибки, чем полные выражения. Используйте ярлыки для обычных интервалов и полные выражения для пользовательских расписаний.
Стандартные выражения cron выполняются по системному времени сервера. Для работы с часовыми поясами необходимо либо правильно установить часовой пояс вашего сервера, либо рассчитать разницу во времени. Некоторые продвинутые реализации cron поддерживают спецификации часового пояса, но основной формат 5 полей не включает информацию о часовом поясе.
Используйте наш парсер выражений Cron, чтобы проверить, что ваше выражение показывает ожидаемое описание расписания. Парсер объясняет на простом английском языке, когда будет запущено ваше задание, помогая вам отлавливать ошибки вроде '0 9 31 2 *' (31 февраля не существует) перед развертыванием в производство.
