Если я сделаю это:
*/9 * * * * /path/to/wotnot
В какое время задание будет выполняться через два часа, начиная с 09:00
Это:
09h00
09h09
09h18
09h27
09h36
09h45
09h54
10h03
10h12
10h21
10h30
10h39
10h48
10h57
или B:
09h00
09h09
09h18
09h27
09h36
09h45
09h54
10h00
10h09
10h18
10h27
10h36
10h45
10h54
При просмотре диапазона вы интерпретируете его только в пределах этого столбца, поэтому '* / 9' в столбце минут означает «список каждую минуту, а затем выбор каждого девятого значения». Этот выбор сбрасывается в начале часа, поэтому вы перезапускаетесь в xx: 00, xx: 09, xx: 18 и т. Д. Каждый час.
Его также можно прочитать как «каждые девять минут каждого часа», что подразумевает сброс в начале часа.
Таким образом, фактическое поведение, которое вы увидите, соответствует варианту B.
Чтобы подтвердить ответ Джона, */n
в столбце минут означает «когда минута равна 0 по модулю n». Вот crontab
запись:
*/7 * * * * date >> /tmp/foo
и вот результат:
Thu Jan 10 14:49:01 GMT 2013
Thu Jan 10 14:56:01 GMT 2013
Thu Jan 10 15:07:01 GMT 2013
Обратите внимание, что разрыв между двумя последними временами равен не семь минут, потому что после nn: 56 в следующий раз */7
соответствует `nn + 1: 07.
Да, я в курсе, что эти времена наступят (или они были, когда я опубликовал это); Мне пришлось довольно быстро перевести системные часы вперед, чтобы получить быстрый ответ.