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



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

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

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

至于 cron,您可能会发现此页面可用于组装它:)

编辑

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

脚本

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

克朗塔布

*/3 * * * *

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

最新更新