Как вы выполняете работу cron каждую минуту только в определенные часы? Вот так:
Он будет проверять каждую минуту только с 11:00 до 12:00, с 4:00 до 5 вечера и с 9 вечера до 10 вечера
Мне кажется сложным, я не знаю, с чего начать.
Правильное решение:
* 11,16,21 * * *
Потому что, если вы используете предыдущее решение:
0-59 11-12,16-17,21-22 * * * *
Работа начнется в 12:40 или 17:59. Он не находится в диапазоне от 11AM до 12AM, от 4PM до 5PM и от 9PM до 10PM.
ОБНОВИТЬ:
Традиционный (унаследованный от Unix) cron формат состоит из пяти полей, разделенных пробелами:
* * * * * command to be executed ┬ ┬ ┬ ┬ ┬ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └───── day of week (0 - 6) (0 is Sunday, or use names) │ │ │ └────────── month (1 - 12) │ │ └─────────────── day of month (1 - 31) │ └──────────────────── hour (0 - 23) └───────────────────────── min (0 - 59)
nnCron может использовать как традиционную, так и «улучшенную» версию формата cron, которая имеет дополнительное (6-е) поле: Year.
Согласно формату cron
<Minute> <Hour> <Day_of_the_Month> <Month_of_the_Year> <Day_of_the_Week> <Year> * * * * * * | | | | | | | | | | | +-- Year (range: 1900-3000) | | | | +---- Day of the Week (range: 1-7, 1 standing for Monday) | | | +------ Month of the Year (range: 1-12) | | +-------- Day of the Month (range: 1-31) | +---------- Hour (range: 0-23) +------------ Minute (range: 0-59)
решение должно быть
* 11,16,21 * * * *