Crontab entry with hour range going over midnight

I had problems running cronjobs over midnight. I ended up putting in two almost identical entries for the scripts involved.

* 22-00 * * * /myscript
* 00-05 * * * /myscript

that seemed to do the trick.
I was experiencing cron failures because of using 22-05, and by process of elimination came up with this solution.


There are a wide range of cron daemons around, unless you tell which exact one you are using (the handling of lists in such corner cases could very well change from a version to the next) there can't be an answer. Best bet is to go with your explicit list. I wouldn't be too surprised if some implementation takes your wrap-around as a weird way of saying 4-22...

Does your local documentation even mention this sort of case? Maybe it is legal to have two lists, e.g. 22-23,0-4?


I've never attempted to use a range like that, and I'm not sure whether it would work. So my first advice would be to test it and see what happens - though probably with a script that only does a log entry or something else innocuous.

Second, for ATT and BSD cron you can't have ranges and lists co-existing, so there you'd either have to list each hour separately or have two lines, one with the range and one with the list.

Tags:

Cron