Это действительная спецификация времени crontab, делающая то, что ожидается:
0 22-4 * * *
Или нужно сделать что-то вроде
0 22,23,0,1,2,3,4 * * *
Я никогда не пытался использовать такой диапазон, и я не уверен, будет ли он работать. Поэтому мой первый совет - проверить это и посмотреть, что произойдет - хотя, вероятно, со сценарием, который делает только запись в журнале или что-то еще безобидное.
Во-вторых, для ATT и BSD cron вы не можете иметь диапазоны и списки сосуществующих, так что вам придется либо перечислять каждый час отдельно, либо иметь две строки, одну с диапазоном и одну со списком.
У меня были проблемы с запуском cronjobs за полночь. Я закончил тем, что вставил две почти идентичные записи для сценариев.
это, казалось, добилось цели.
Я испытывал сбои в cron из-за использования 22-05, и в процессе устранения придумал это решение.
источник
*/5
, то есть:*/5 00-05 * * * /myscript
Существует широкий спектр демонов cron, если только вы не скажете, какой именно из них вы используете (обработка списков в таких угловых случаях вполне может измениться от версии к следующей), ответа не может быть. Лучше всего идти с вашим явным списком. Я не был бы слишком удивлен, если бы какая-то реализация восприняла ваше завершение как странный способ сказать
4-22
...В вашей местной документации даже упоминается такой случай? Может быть, законно иметь два списка, например
22-24,1-4
?источник
22-23,0-4
(обратите внимание, что crontab не24
работает) работает отлично, по крайней мере, на Centos, на котором я его тестировал.