devopscodepro
Язык
Работает полностью в браузере — данные не покидают страницу.

Разбор cron

Описание простым языком и пять ближайших запусков.

Каждые 15 минут
012026-08-18T07:45:00Z
022026-08-18T08:00:00Z
032026-08-18T08:15:00Z
042026-08-18T08:30:00Z
052026-08-18T08:45:00Z
время запусков показано в UTC

Как читать cron-выражение

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

Время показывается в UTC, потому что именно им пользуются CronJob в кластере и большинство серверов.

Почему задача запускается чаще, когда заданы и день месяца, и день недели?

Потому что cron объединяет эти два поля через ИЛИ, а не через И. «0 0 1 * 1» срабатывает и первого числа, и каждый понедельник, а не только в понедельник первого числа. Это самый частый сюрприз cron.

Что именно означает */5?

Каждое пятое значение начиная с минимума поля — то есть в поле минут это 0, 5, 10 и так далее. Это не «через пять минут после прошлого запуска»: задача, стартовавшая в 12:03, следующий раз сработает в 12:05.

Подходит ли это для синтаксиса Kubernetes CronJob?

Да, Kubernetes использует стандартный пятипольный cron. Учтите только, что у кластерного CronJob есть ещё concurrencyPolicy и startingDeadlineSeconds, определяющие поведение при наложении запусков и при простое контроллера, — расписание само по себе этого не рассказывает.

А как же секунды?

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

Смежные инструменты: Timestamp, Валидатор манифестов K8s и Regex-тестер.