Настройки строки задания Cron запускаются 4 раза в день в промежутке от 5 до 10

532
Arnab Ghosh

* 5-10 * * * будет запускать сценарий между указанными таймингами, но как я буду контролировать счет?

Кстати, количество и время может быть любым, значит, оно будет динамическим, а не статичным. Просто установите статические числа для лучшего понимания.

0

2 ответа на вопрос

2
cristi

One problem with your script is that it will run every minute (because of the first "*").

Since you have 6 hours, it's pretty hard to run the cron only 4 times.

One solution could be:

0 6,7,8,9 * * * /path/command 
0
Ecnerwal

Вы не получите Cron. Он не «динамический» - он запускается, когда вы просите его запустить, без отклонений.

Если вы хотите 4 раза между 5 и 10, просто выберите 4 раза и напишите 4 строки. Нет точных точек для того, чтобы «сделать это в 1 строку», и мало, если таковые имеются, для его сжатия.

то есть:

17 5 * * * (command) 37 6 * * * (command) 17 8 * * * (command) 37 9 * * * (command) 

Или вы могли бы действительно хотеть больше как:

1 5 * * * (command) 37 6 * * * (command) 17 8 * * * (command) 59 9 * * * (command) 

Или, если вы любите компактирование (за которое все еще мало, если какие-либо очки начисляются):

17 5,8 * * * (command) 37 6,9 * * * (command) 

Если вы действительно имели в виду с 5 до 10 вечера (в этом случае):

17 17,20 * * * (command) 37 18,21 * * * (command) 

Если у вас есть некоторая потребность (я буду играть сомнительно) в настоящем динамическом поведении, вы будете писать сценарий для динамического создания crontab, который не будет динамически выполнять то, что вы хотите, до следующей смены crontab.

Похожие вопросы