以下cron表达式是否每45分钟一次?

Tzu*_*hay 13 cron

我愿意每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并表示该字段的允许值的位图.这几乎排除了任何"聪明"的解释,因为在这个阶段的区别*/450,45失败......但是有一个MIN_STAR标志,*在几分钟内(包括*/45)存在.因此,我们看一下cron.c,MIN_STAR检查一个地方,以了解它与我们的问题无关.现在我们确切地知道*/45" 每小时每45分钟":0:00,0:45,1:00,1:45等等.

这里有两个答案,自信地说明了相反的情况,引用了手册中的一个不幸的段落:

星号后也允许步骤,所以如果你想说"每两个小时",只需使用"*/2"

我们很幸运有一个24小时工作日,包含甚至数小时,"每两小时从0:00,每天"和"每两小时一般"无法区分.太糟糕了,手册没有足够的记录非平凡的案例,给人的印象* */22是每22个小时.它不是.带步长的星号只是在使用它的字段中的值列表的简写; 它不与其他领域互动.