我正在尝试自动启动在 12 台 Linux 7 服务器网格上运行的应用程序(重启后)。
12 台服务器以随机顺序重新启动。
在启动驻留在 12 个服务器上的应用程序之前,所有服务器都需要运行。
我想做的是测试所有 12 台 Linux 7 服务器是否都已启动,然后当所有 12 台服务器都已启动时,我将继续执行命令的启动序列。
所有 12 个服务器都设置了 ssh key 。
猫服务器列表.txt 10.0.0.6 10.0.0.7 10.0.0.8 10.0.0.9 ... 10.0.0.18
我想ping一个服务器,然后等到ping成功,再转到下一个IP地址。
我为我的问题道歉。
如何编码?
从 IP 列表文件中读取第一行。 先 Ping IP 直到成功,然后再 Ping 其他 IP 地址(一次一个)直到所有 12 个都成功。
然后,运行命令以在 12 个服务器的网格上启动应用程序。
问题:如何在 bash shell 中对此进行编码。
最佳答案
内循环可以简单到
while ! ssh "${connection_string}" -o ConnectTimeout=5 true
do
sleep 0.5
done
这会运行一个简单的命令,并在重试之间等待 0.5 秒。
关于linux - 一个 bash shell 程序,等待列表中的所有服务器启动,然后运行启动脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54055009/