我有一个问题,我要处理几天。我想在我的ubuntu服务器上执行5个位于1个地图中的PHP脚本。
我想让这5个脚本以15-60秒的间隔随机执行。所以我得到的情况如下:
执行随机脚本(1-5).php - >等待15-60秒 - >执行随机脚本(1-5).php - >等待15-60秒等......
我尝试寻找解决方案,我知道它可以完成,但我找不到合适的命令。我应该只使用cronjob还是使用bash脚本?
答案 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