【linux】crontab 每 16 分钟运行一次 的执行计划?
我一直以为 crontab */16 * * * *
是从加入执行计划时间开始,每16分钟运行一次。
今天因为其他原因记录了一下日志,才发现原来不是我想的那样。。。
如图,忽略标红的内容,实际执行计划其实是每小时的 0分,16分,32分,48分执行的。。。
于是我特意在http://tool.lu/crontab/测试了一下,执行计划确实如上图所示。
我又做了如下测试 > 0 */13 * * *
那么问题来了。。我就是想精确地 每 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=960for (( 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