Инструмент для разработчиков

Расшифровка выражений cron

Вставьте строку cron и узнайте, когда она реально срабатывает.

Расшифровка выражений cron Работает на вашем устройстве
  • Работает в вашем браузере — текст никуда не отправляется
  • Без регистрации и квот, пользуйтесь бесплатно сколько угодно

Как это работает

Синтаксис cron — это пять лаконичных полей, которые легко написать и гораздо труднее прочитать, особенно чужие. Большинство ошибок — не опечатки, а непонимание того, какое поле какое, или что происходит, когда заданы сразу два из них.

Пять полей

Минута, час, день месяца, месяц, день недели — именно в таком порядке. Шестое начальное поле для секунд используется некоторыми планировщиками и здесь, если есть, игнорируется. Диапазоны, списки и шаги понимаются.

День месяца и день недели вместе

На этом попадаются почти все. Если оба поля заданы чем-то отличным от «*», cron срабатывает, когда совпадает любое из них, а не оба. «0 0 1 * 1» срабатывает первого числа месяца и в каждый понедельник, а не только в те понедельники, что выпадают на первое число. Объяснение прямо говорит об этом, когда это применимо.

И 0, и 7 означают воскресенье

Поле дня недели принимает значения от 0 до 7, причём оба конца означают воскресенье. Это частый источник путаницы с ошибкой на единицу при переносе расписания между системами.

Он проверяет, пока объясняет

Значения вне диапазона, неверные диапазоны и нулевые шаги сообщаются с указанием поля, откуда они взялись, а не порождают уверенное, но неверное описание.

Частые вопросы

Расшифровка выражений cron: вопросы

Что означают пять полей?

Минута, час, день месяца, месяц и день недели — именно в таком порядке.

Почему моё расписание срабатывает чаще, чем ожидалось?

Вероятно, потому что заданы и день месяца, и день недели. Cron считает их условием «или» и срабатывает, когда совпадает любое из них.

Воскресенье — это 0 или 7?

Оба. Поле дня недели принимает значения от 0 до 7 и считает воскресеньем оба конца.

Поддерживается ли поле секунд?

Начальное поле секунд, если оно есть, игнорируется; объясняются пять стандартных полей.