php - 在 linux 服务器上使用 php 和 bash 在多个服务器上执行命令的问题

标签 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);
}

我希望即时运行所有应用程序并在所有服务器上运行,但现在有些实例运行完美,有些实例永远不会运行,我可以更改什么来加快此速度并修复?

最佳答案

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

关于php - 在 linux 服务器上使用 php 和 bash 在多个服务器上执行命令的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55545403/

相关文章:

php - 你如何对 php 和 sql 数组进行排序?

php - 从表单检查登录然后重定向到另一个页面

linux - awk:遍历大量文件的内容

bash - 在 bash 中根据黑名单移动文件时遇到问题

php - 如何将 URL 复制到我的表单中

php - 使用 php 和 mysql 存储和检索多维数组

linux - 从标准输出中获取输出的最后 4 个字符

c++ - 如果数据库可达,如何快速检查? (Qt, QML, C++)- Linux

bash,重定向后不能使用 xargs replstr

linux - Jenkins 执行 bash shell 命令