*/20 * * * *
Гарантирует, что он запускается каждые 20 минут, я хотел бы запускать задачу каждые 20 минут, начиная с 5 часов утра, возможно ли это с Cron? Будет ли это:
5/20 * * * *
?
*/20 * * * *
Гарантирует, что он запускается каждые 20 минут, я хотел бы запускать задачу каждые 20 минут, начиная с 5 часов утра, возможно ли это с Cron? Будет ли это:
5/20 * * * *
?
Ответы:
Чтобы запускать задачу каждые 20 минут, начиная с 5 часов утра, попробуйте следующее:
5-59/20 * * * *
объяснение
*
В минуту поле такое же , как , 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 * * * *
будет работать каждую нечетную минуту.
Конечно!
5,25,45 * * * * /your/cron
5-59/20
это возможно, но 5,25,45
имеет то преимущество, что сразу становится ясно, что это делает.
Можешь попробовать: */5 * * * * sleep N; your job
sleep `shuf -i 1-100 -n 1`
делает трюк.