每一小时随机运行一次 cron 作业

每一小时随机运行一次 cron 作业

我想要一个 cronjob 每隔一小时随机运行一次。 (即,如果第一个作业在 58 分钟运行,第二个作业应在 47 分钟运行,第三个作业应在 52 分钟运行,依此类推)但这应该在每个小时随机运行。

答案1

您可以通过定义一个作业来实现这一点,该作业每小时运行一次,并在运行您真正感兴趣的命令之前休眠一段随机时间。在您的 crontab 中:

SHELL=/bin/bash

0 * * * * sleep $((RANDOM*3600/32768)) && command

(您需要指定 shell,以确保其可用。如果不合适,$RANDOM还有其​​他方法可以获取随机值。)sleep

相关内容