Запуск задания Cron каждые N минут плюс смещение

*/20 * * * *

Обеспечивает, чтобы он выполнялся каждые 20 минут, я хотел бы запускать задание каждые 20 минут, начиная с 5 часов, возможно ли это с Cron? Это будет:

5/20 * * * *?

Ответ 1

Чтобы выполнить задачу каждые 20 минут, начиная с 5 часов, попробуйте следующее:

 5-59/20 * * * *

Объяснение

An * в минутном поле совпадает с 0-59/1, где 0-59 - диапазон, а 1 - это шаг. Команда будет выполняться с первой минуты в диапазоне (0), затем на всех последующих минутах, которые удалены от первого за шагом (1), до последнего (59).

Вот почему */20 * * * * будет работать через 0 минут, через 20 минут и через 40 минут - то же самое каждые 20 минут. Тем не менее, */25 * * * * будет работать через 0 минут, через 25 минут и через 50 минут после этого - это не то же самое, что каждые 25 минут. Поэтому обычно желательно использовать значение шага в минутном поле, которое равномерно делит на 60.

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

<сильные > Примеры

5-59/20 * * * * будет работать через 5 минут после, через 25 минут и через 45 минут.

10-59/25 * * * * будет работать через 10 минут после и через 35 минут.

1-59/2 * * * * будет запускаться каждую нечетную минуту.

Ответ 2

Конечно!

5,25,45 * * * * /your/cron

Ответ 3

Вы можете попробовать: */5 * * * * sleep N; your job