как cron реагирует на диапазоны, в которых используется нечетный разделитель?

как cron реагирует на диапазоны, в которых используется нечетный разделитель?

Предположим, что мы хотим запускать задачу каждые 20 минут:

0/20 * * * *

Он будет работать при X:00, X:20, X:40и так далее.

Каждые 15?

0/15 * * * *

Таким образом, он будет работать при X:00, X:15, X:30и X:45.

Но что произойдет, если мы захотим запустить каждый45минут?

0/45 * * * *

Я склонен думать, что он будет работать при X:00, затем при X:45, затем при X+1:00(что, кстати, мне не нужно)? Или он будет работать при X+1:30(именно то, что мне нужно)?

Расписание Cronjobобъясняет, что это будетвсегдаотдельные пробежки на 45 минут, но вопрос был связан с пробежкой по X минут каждый час, поэтому ихправильный ответна самом деле не относится к моему случаю, и я хочу быть уверен в ответе.

решение1

Значение после косой черты — это значение шага. (См.страница руководства).

Таким образом, 0/45 в протоколе означает, что он будет запускаться в 1:00, 1:45, 2:00, 2:45, 3:00 и т. д., но это не означает, что каждые 45 минут.

/15, /20, /30 — все работают так, как и ожидалось, поскольку 60 делится на эти значения без остатка.

Если вы хотите, чтобы он запускался каждые 45 минут, вам, скорее всего, придется создать несколько строк с разными часами и минутами.

Связанный контент