【linux】crontab 每 16 分钟运行一次 的执行计划?

我一直以为 crontab */16 * * * * 是从加入执行计划时间开始,每16分钟运行一次。

今天因为其他原因记录了一下日志,才发现原来不是我想的那样。。。

【linux】crontab 每 16 分钟运行一次 的执行计划?

如图,忽略标红的内容,实际执行计划其实是每小时的 0分,16分,32分,48分执行的。。。

于是我特意在http://tool.lu/crontab/测试了一下,执行计划确实如上图所示。

我又做了如下测试 > 0 */13 * * *

【linux】crontab 每 16 分钟运行一次 的执行计划?

那么问题来了。。我就是想精确地 每 16 分钟运行一次 ,该怎么搞?

回答

可以用15条crontab做到: 16分和60分的最小公倍数是240

crontab任务如果是以每几分钟执行的话,那么下一小时开始就是下一小时的0

写脚本实现吧,crontab实现不了。

crontab应该实现不了这种需求

0,16,32,48 0,4,8,12,16,20 * * *

4,20,36,52 1,5,9,13,17,21 * * *

8,24,40,56 2,6,10,14,18,22 * * *

12,28,44 3,7,11,15,19,23 * * *

或者

cron.sh

step=960

for (( i=0;i<14400;i=(i+$step) )); do

do something &

sleep $step

done

crontab -e

* */4 * * * sh cron.sh

以上是 【linux】crontab 每 16 分钟运行一次 的执行计划? 的全部内容, 来源链接: utcz.com/a/82346.html

回到顶部