我愿意每45分钟运行一次脚本(不是每小时45分钟)
例如10:00,10:45,11:30,12:15,依此类推.
*/45 * * * *
Run Code Online (Sandbox Code Playgroud)
我不确定这是正确的表达方式.
Ant*_*nko 14
我怀疑(编辑:我现在很确定)它不能做你想做的事情:字段是分开的,而*/45
分钟只不过是0,45
.如果*/45
不做这项工作,我会使用以下三个条目:
0,45 0-23/3 * * *
30 1-23/3 * * *
15 2-23/3 * * *
Run Code Online (Sandbox Code Playgroud)
如果你看看entry.c
在vixie cron在源文件中,你会发现,每场每个条目由解析get_list
并表示该字段的允许值的位图.这几乎排除了任何"聪明"的解释,因为在这个阶段的区别*/45
和0,45
失败......但是有一个MIN_STAR
标志,*
在几分钟内(包括*/45
)存在.因此,我们看一下cron.c
,MIN_STAR
检查一个地方,以了解它与我们的问题无关.现在我们确切地知道*/45
" 每小时每45分钟":0:00,0:45,1:00,1:45等等.
这里有两个答案,自信地说明了相反的情况,引用了手册中的一个不幸的段落:
星号后也允许步骤,所以如果你想说"每两个小时",只需使用"*/2"
我们很幸运有一个24小时工作日,包含甚至数小时,"每两小时从0:00,每天"和"每两小时一般"无法区分.太糟糕了,手册没有足够的记录非平凡的案例,给人的印象* */22
是每22个小时.它不是.带步长的星号只是在使用它的字段中的值列表的简写; 它不与其他领域互动.