在随机时间运行 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)的随机数。
我仔细浏览了一下,但似乎在任何地方都找不到涵盖此问题的答案。
有谁知道我将如何每天在上午 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)的随机数。