在crontab中,我可以使用星号表示每个值,或“* / 2”表示每个偶数值。
有没有办法指定每个奇数值? (像“1 + * / 2”这样的东西会起作用吗?)
答案 0 :(得分:89)
根据您的cron版本,您应该可以(比如说数小时):
1-23/2
通过crontab(5)联机帮助页中的EXTENSIONS部分:
Ranges can include "steps", so "1-9/2" is the same as "1,3,5,7,9".
对于更便携的解决方案,我怀疑你只需要使用简单列表:
1,3,5,7,9,11,13,15,17,19,21,23
但是将命令包装在一个shell脚本中可能会更容易,如果在一个奇怪的时间内没有调用它,它将立即退出。
答案 1 :(得分:57)
每一分钟都会:
1-59/2 * * * *
每一分钟都会:
0-58/2 * * * *
答案 2 :(得分:2)
尝试
1-23/2
从你的问题来看,我假设是Vixie Cron。我怀疑这适用于任何其他cron。
答案 3 :(得分:2)
当我阅读手册“1-23 / 2”(数小时)时就可以了。
答案 4 :(得分:0)
适用于Cronie 即使是5分钟的间隔,例如
3-58/5 * * * * /home/test/bin/do_some_thing_every_five_minute
答案 5 :(得分:0)
我意识到这已经快10岁了,但是我很难在每两小时的零时工作中得到1-23 / 2。
对于所有您的用户,都不需要精确奇数小时精度。我做了以下适合我团队需求的事情。
59 */2 * * *
第59分钟,每两个小时执行一次工作。