我想要一个 cronjob 每隔一小时随机运行一次。 (即,如果第一个作业在 58 分钟运行,第二个作业应在 47 分钟运行,第三个作业应在 52 分钟运行,依此类推)但这应该在每个小时随机运行。
答案1
您可以通过定义一个作业来实现这一点,该作业每小时运行一次,并在运行您真正感兴趣的命令之前休眠一段随机时间。在您的 crontab 中:
SHELL=/bin/bash
0 * * * * sleep $((RANDOM*3600/32768)) && command
(您需要指定 shell,以确保其可用。如果不合适,$RANDOM
还有其他方法可以获取随机值。)sleep