Crontab,在一段时间内随机执行一次任务

问题描述 投票:1回答:1

我想使用cron在上午8点到下午6点之间每3分30秒随机运行一次任务。他们可以帮我解决这个问题。我一直在寻找,但我没有成功。非常感谢你提前。

cron
1个回答
1
投票

我会用两种方式解决这个问题 - 取决于要求:

  • 如果你的意思是任务可以随机执行,可以在上午8点到下午6点之间每隔3分30秒执行一次,你可以添加一些随机数生成并执行,如果符合某些标准(数字大于x或可被y整除等)
  • 如果你的意思是在上午8点到下午6点之间每隔3分30秒发生一次任务应该随机执行任务N次,你可以使用一个随机数来指定执行的次数,然后循环直到达到执行次数。

至于cron,你可能会发现this page有用来组装它:)

编辑

这是对评论的后续跟进,用例指的是我上面提到的第二个:

脚本

random_times=$(( ( RANDOM % 10 )  + 1 ))
for i in `seq 1 $random_times`; do bash /path/to/script.sh; done

crontab中

*/3 * * * *

请注意,如果使用unix crontab,则没有秒粒度,因此每3分钟执行一次。

© www.soinside.com 2019 - 2024. All rights reserved.