Crontab进入,时间范围超过午夜


18

这是有效的crontab时间规范,可以执行预期的操作:

0 22-4 * * *

还是有必要做类似的事情

0 22,23,0,1,2,3,4 * * *

Answers:


5

我从未尝试过使用这样的范围,而且不确定是否可以使用。因此,我的第一条建议是对其进行测试,看看会发生什么-尽管可能只使用脚本进行日志输入或其他无害的脚本。

其次,对于ATT和BSD cron,您不能同时存在范围和列表,因此您要么必须分别每小时列出一次,要么要有两行,其中一行包含范围,另一行包含列表。


修改后的问题在您的答案上对ATT / BSD有效。我实际上是在Jenkins作业配置中编写“我的” crontab规范(并将在今晚使用虚拟作业进行测试),但是我在这里要知道Unix / Linux系统上预期的行为是什么。
海德

实际上,我希望它不起作用,如果能奏效,会感到惊喜。但是我也希望cron在您输入无效范围时会抱怨。
詹妮·D

11

我在午夜运行cronjobs时遇到问题。最后,我为所涉及的脚本输入了两个几乎相同的条目。

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

这似乎可以解决问题。
由于使用22-05,我遇到了cron故障,并且通过淘汰过程提出了该解决方案。


请注意,似乎不适用于*/5,即:*/5 00-05 * * * /myscript
dentex 2014年

8

周围有各种各样的cron守护程序,除非您告诉您所使用的是哪个确切的守护程序(在这种极端情况下,列表的处理很可能会从一个版本更改为另一个版本),否则就没有答案。最好的选择是使用您的明确清单。如果某些实现将您的环绕式设计作为一种怪异的说法,我也不会太惊讶4-22

您的本地文档中是否提到了这种情况?拥有两个列表也许合法,例如22-24,1-4


8
我可以确认22-23,0-4(请注意crontab不能24正常工作),至少在我测试过的centos上可以正常工作。
qwertyboy
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.