在随机时间运行 python 脚本 CentOS

Running a python script at a random hour CentOS

我仔细浏览了一下,但似乎在任何地方都找不到涵盖此问题的答案。

有谁知道我将如何每天在上午 9 点到晚上 8 点之间的随机时间运行一次 python 脚本?

谢谢

马克

每天设置一个cron job到运行这个:

sleep $(((RANDOM % 12) * 60)) && /path/to/your/script.py

12 是可能触发的小时数(包括上午 9 点到晚上 8 点)。 $RANDOM 是一个系统变量,它给你一个随机值。 sleep 需要几秒钟才能入睡。符号 $((...)) 计算内部表达式。当它被使用时,环境变量不必像 $RANDOM 那样被引用,因此为什么 $ 被关闭。

编辑:尝试运行几次,看看发生了什么:

echo $RANDOM

当这个随机值被取模 (x % y) 时,它会给你一个介于 [0,y) 之间的随机值。在这种情况下,您将获得一个从 0 到 11(包括 11)的随机数。