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