这是有效的 crontab 时间规范,做预期的事情:
0 22-4 * * *
Run Code Online (Sandbox Code Playgroud)
或者是否有必要做类似的事情
0 22,23,0,1,2,3,4 * * *
Run Code Online (Sandbox Code Playgroud)
小智 14
我在午夜运行 cronjob 时遇到问题。我最终为所涉及的脚本输入了两个几乎相同的条目。
* 22-00 * * * /myscript
* 00-05 * * * /myscript
Run Code Online (Sandbox Code Playgroud)
这似乎奏效了。
由于使用 22-05,我遇到了 cron 失败,并通过消除过程提出了这个解决方案。
von*_*and 11
周围有各种各样的 cron 守护进程,除非您确切地说出您使用的是哪个(在这种极端情况下对列表的处理很可能会从一个版本更改为下一个版本),否则无法找到答案。最好的办法是使用您的明确列表。如果某些实现将您的环绕作为一种奇怪的说法,我不会感到太惊讶4-22
......
你当地的文件甚至提到这种情况吗?也许有两个列表是合法的,例如22-23,0-4
?
我从来没有尝试过使用这样的范围,我不确定它是否有效。所以我的第一个建议是测试它并看看会发生什么 - 尽管可能使用一个只执行日志条目或其他无害的脚本。
其次,对于 ATT 和 BSD cron,您不能让范围和列表共存,因此您必须单独列出每个小时,或者有两行,一行包含范围,另一行包含列表。