如何对 Cron Jobs 命令进行随机延迟

问题描述 投票:0回答:1

我尝试了一些建议,但总是失败。 我想让 php 文件几乎每分钟运行一次,为此我使用命令:

*   *   *   *   *   wget http://link.php

我怎样才能给该命令一个随机延迟?

例如,

第一次:第65秒工作

第二次:第67秒工作

第三次:第72秒工作

cron cpanel cron-task crontrigger
1个回答
0
投票

$RANDOM
在我见过的每个 shell 中都实现得很差,通常是通过使用残暴的
rand()
C stdlib 方法并由
srand(time())
播种。 2024 年了,我希望事情能比这更好,但它们仍然很糟糕!

随机化 cronjob 计时的正确方法是从

/dev/urandom
中提取随机数,例如:

5 4 * * * sleep $(tr -dc 0-9</dev/urandom|head -c4); wget http://link.php

上面将在每天

4:05AM 后随机 0-9999 秒(~2.8 小时)运行您的 
wget http://link.php

-c4
更改为
-c3
会将随机延迟降低至三位数或 0-999 秒

© www.soinside.com 2019 - 2024. All rights reserved.