在crontab中指定"所有奇数值"?

lev*_*vik 63 cron crontab

在crontab中,我可以使用星号表示每个值,或者"*/2"表示每个偶数值.

有没有办法指定每个数值?(像"1 +*/2"这样的东西有用吗?)

zig*_*don 90

根据你的cron版本,你应该可以做(几小时,比方说):

   1-23/2
Run Code Online (Sandbox Code Playgroud)

通过crontab(5)联机帮助页中的EXTENSIONS部分:

   Ranges can include "steps", so "1-9/2" is the same as "1,3,5,7,9".
Run Code Online (Sandbox Code Playgroud)

对于更便携的解决方案,我怀疑您只需使用简单列表:

   1,3,5,7,9,11,13,15,17,19,21,23
Run Code Online (Sandbox Code Playgroud)

但是将命令包装在一个shell脚本中会更容易,如果在一个奇怪的时间没有调用它,它将立即退出.


gri*_*igb 59

每一分钟都会是:

1-59/2 * * * * 
Run Code Online (Sandbox Code Playgroud)

每隔一分钟就会:

0-58/2 * * * * 
Run Code Online (Sandbox Code Playgroud)


小智 7

我意识到这已经快 10 年前了,但我很难为每两小时的零时工作获得 1-23/2。

对于所有用户来说,不需要精确的奇数小时精度。我做了以下适合我的团队需要的事情。

59 */2 * * *
Run Code Online (Sandbox Code Playgroud)

每两小时执行一次作业,在第 59 分钟执行一次。

  • 这是一个非常好的方法 (2认同)