крон кожні п’ять хвилин протягом трьох годин


0

Я хотів би встановити запуск крона о 4.30 ранку кожні п’ять хвилин протягом 3 годин, щоб він перестав виконуватись о 7.30, як це зробити? буде це працювати ??

*/5,30  4-7  *  *  *

Мені це здається правильним. * / 5 = кожні п’ять хвилин, 30 = за 30 хвилин, 4-7 = між годинами 4 - 7. Єдине, в чому я не впевнений - чи можна використовувати кожні п’ять хвилин, а потім також вказати 30 хвилин. Яку поведінку ви отримуєте від цього налаштування?

я тільки що поставив це завдання сьогодні вранці, тому я не отримав жодного результату, я думаю, мені доведеться повернутися після 4.30 ранку мого часу :)

Відповіді:


1

Ви не можете вказати потрібний час на одній лінії крона

# 4.30 - 4.59 evry 5 mins
30-59/5 4 * * * 
# 5.00 - 6.55 evry 5 mins
*/5 5-6 * * * 
# 7.00 - 7.30 evry 5 mins
0-30/5 7 * * * 

АЛЕ додайте щось подібне до свого крона

*/5 4-7 * * *  [ "$(date +%H%M)" -gt 0429 -a "$(date +%H%M)" -lt 0731 ] && YourScriptHere

# $( ) = means run command inside and get the results, same as backticks `
# be careful with date, because you can also set your computers time with it.
# man date will give you list of %LETTER options to specifu
# %H = hour, %M = minutes,
#  -gt = greater than, -lt lessthan -a = and, && = continue execution if previous command 
# did not return error. 

0

Я зробив тест на своєму сервері з наступною установкою:

*/5,30 12-13 * * * /root/crontest > /var/log/crontest.log

Де схожий сценарій виглядав так:

echo "Running at:"`eval date +%Y-%m-%d-%H:%M`

Ось результат:

Running at:2011-04-29-12:20
Running at:2011-04-29-12:25
Running at:2011-04-29-12:30
Running at:2011-04-29-12:35
Running at:2011-04-29-12:40
Running at:2011-04-29-12:45
Running at:2011-04-29-12:50

Таким чином, налаштування, яке ви маєте, працюватиме кожні 5 хвилин між вказаними вами годинами. Усі 30 дій - це говорити запускати його кожні 30 хвилин, що вже відбувається через 5-хвилинний інтервал. Таким чином, це не обмежить запуск крона лише від 0 до 30 хвилин, а потім 5 хвилин кожен за цей проміжок.

Ви можете вирішити це, обмеживши так:

*/5,0-30 12-13 * * * /root/crontest > /var/log/crontest.log

Редагувати: це не буде працювати, оскільки це означає, АБО, інакше воно працюватиме кожні 5 хвилин

Якщо це не працює, вам, ймовірно, доведеться вирішити це:

  • Обробка 5-хвилинного інтервалу у вашому сценарії
  • Змініть інтервал з 4:30 - 7:30 до 4:00 - 7:00.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.