Предположим, что мы хотим запускать задачу каждые 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 минут, вам, скорее всего, придется создать несколько строк с разными часами и минутами.