我正在设置新应用程序并希望在我的所有服务器(实际上是 16 个)上执行脚本。我做错了什么?
我的 bash 文件:
for (( c=1; c<=16; c++ ))
do
URL="http://s$c.domain.com/api.php?script=$scriptl&a1=$port&a2=$AUTHKEY"
screen -dmS apprun$c wget -q $URL #for faster exec bash script i run on screen
done
;;
esac
我的 api.php:
<?php
if(isset ( $_GET['script']) ) {
$script = $_GET['script'];
$port = $_GET['a1'];
$cmd = "cd /home/scripts/ && perl $script $port";
shell_exec($cmd);
}
我希望即时运行所有应用程序并在所有服务器上运行,但现在有些实例运行完美,有些实例永远不会运行,我可以更改什么来加快此速度并修复?
最佳答案
这很难说,因为对于不会运行它的服务器没有错误消息。这些机器可能没有安装 perl
,因此无法解释脚本...或者可能缺少要运行的脚本。通过 ssh
连接并尝试手动运行它 - 然后您应该明白它失败的原因。
关于php - 在 linux 服务器上使用 php 和 bash 在多个服务器上执行命令的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55545403/