在多台服务器上使用php和bash在Linux服务器上执行命令的问题

时间:2019-04-06 02:47:04

标签: php linux bash

我正在设置新应用,并想在所有服务器上执行脚本(实际上是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);
}

我希望立即运行所有应用程序并在所有服务器上运行,但是现在某些实例可以完美运行,而某些实例则永远不会运行,我该如何更改以加快此速度并修复?

1 个答案:

答案 0 :(得分:0)

这很难说,因为没有错误消息提示那些不会运行它的服务器。这些计算机可能未安装perl,因此无法解释脚本...或可能缺少要运行的脚本。通过ssh连接并尝试手动运行它-然后您应该了解为什么它失败。