Расшифровка выражений cron
Вставьте строку cron и узнайте, когда она реально срабатывает.
- Работает в вашем браузере — текст никуда не отправляется
- Без регистрации и квот, пользуйтесь бесплатно сколько угодно
Как это работает
Синтаксис cron — это пять лаконичных полей, которые легко написать и гораздо труднее прочитать, особенно чужие. Большинство ошибок — не опечатки, а непонимание того, какое поле какое, или что происходит, когда заданы сразу два из них.
Пять полей
Минута, час, день месяца, месяц, день недели — именно в таком порядке. Шестое начальное поле для секунд используется некоторыми планировщиками и здесь, если есть, игнорируется. Диапазоны, списки и шаги понимаются.
День месяца и день недели вместе
На этом попадаются почти все. Если оба поля заданы чем-то отличным от «*», cron срабатывает, когда совпадает любое из них, а не оба. «0 0 1 * 1» срабатывает первого числа месяца и в каждый понедельник, а не только в те понедельники, что выпадают на первое число. Объяснение прямо говорит об этом, когда это применимо.
И 0, и 7 означают воскресенье
Поле дня недели принимает значения от 0 до 7, причём оба конца означают воскресенье. Это частый источник путаницы с ошибкой на единицу при переносе расписания между системами.
Он проверяет, пока объясняет
Значения вне диапазона, неверные диапазоны и нулевые шаги сообщаются с указанием поля, откуда они взялись, а не порождают уверенное, но неверное описание.
Расшифровка выражений cron: вопросы
Что означают пять полей?
Минута, час, день месяца, месяц и день недели — именно в таком порядке.
Почему моё расписание срабатывает чаще, чем ожидалось?
Вероятно, потому что заданы и день месяца, и день недели. Cron считает их условием «или» и срабатывает, когда совпадает любое из них.
Воскресенье — это 0 или 7?
Оба. Поле дня недели принимает значения от 0 до 7 и считает воскресеньем оба конца.
Поддерживается ли поле секунд?
Начальное поле секунд, если оно есть, игнорируется; объясняются пять стандартных полей.