我想使用 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 分钟执行一次。