如何在30-120秒之间随机执行5个PHP脚本?

时间:2017-03-23 16:34:12

标签: php bash random cron

我有一个问题,我要处理几天。我想在我的ubuntu服务器上执行5个位于1个地图中的PHP脚本。

我想让这5个脚本以15-60秒的间隔随机执行。所以我得到的情况如下:

执行随机脚本(1-5).php - >等待15-60秒 - >执行随机脚本(1-5).php - >等待15-60秒等......

我尝试寻找解决方案,我知道它可以完成,但我找不到合适的命令。我应该只使用cronjob还是使用bash脚本?

1 个答案:

答案 0 :(得分:0)

一种可能性:

<?php
    $scriptPath = "/some/path/";
    while (true) {
        $scriptId   = rand(1, 5);
        $sleepTime  = rand(15, 60);

        exec("nohup php ".$scriptPath . $scriptId . ".php > /dev/null 2>&1 &");
        sleep($sleepTime);
    }
?>

将上面的代码放在一个名为loopScript.php的文件中,然后从命令行启动代码。像这样:

nohup php /path/to/script/loopScript.php > /dev/null 2>&1 

要使脚本在重新启动时运行,请将以下内容添加到cron:

@reboot php /path/to/script/loopScript.php > /dev/null 2>&1