同时执行多个ssh 10.1.15.116 ' ping 10.1.2.48 -c 3' ssh 10.1.15.117 ' ping 10.1.2.42 -c 3' ssh 10.1.15.116 ' ping 10.1.2.44 -c 3' ssh 10.1.15.117 ' ping 10.1.2.46 -c 3'
时间: 2024-03-09 20:46:47 浏览: 107
您可以使用并行SSH工具,如parallel-ssh或pssh,来同时执行多个SSH命令。这些工具可以让您在多个主机上并行运行命令,从而提高效率。以下是使用parallel-ssh执行您提供的四个SSH命令的示例:
```
parallel-ssh -h hosts.txt 'ping 10.1.2.48 -c 3' 'ping 10.1.2.42 -c 3' 'ping 10.1.2.44 -c 3' 'ping 10.1.2.46 -c 3'
```
其中,`hosts.txt`是一个包含要执行命令的主机列表的文本文件。您可以将IP地址或主机名添加到此文件中,每行一个。请注意,您需要在本地计算机上安装并配置parallel-ssh才能运行此命令。
相关问题
ssh 10.1.15.103 'ping 10.1.2.50 -c 3' | grep 'packet loss' -B 1 shell语句判断是否成功
可以使用以下shell语句来判断是否ping成功:
```
if ssh 10.1.15.103 'ping 10.1.2.50 -c 3' | grep -q '0% packet loss'; then
echo "Ping succeeded"
else
echo "Ping failed"
fi
```
这个语句会通过ssh连接到10.1.15.103主机,并在该主机上执行ping命令,然后使用grep命令查找输出中是否包含"0% packet loss",如果找到了,则说明ping成功,反之则ping失败。
ansible -m ping 10.1.13.113 无法获取信息 直接ping可以ping通
可能是由于防火墙或者主机名解析等问题导致的。您可以尝试以下解决方法:
1. 确保主机名解析正常,可以使用nslookup或者dig命令检查主机名解析是否正确。
2. 确保目标主机的防火墙已经关闭或者开放了22端口(如果您使用的是SSH连接)或者其他必要的端口。
3. 如果您使用的是SSH连接,可以尝试手动连接目标主机看看是否能够连接成功,命令如下:ssh username@10.1.13.113。
4. 如果以上方法都无法解决问题,建议您检查ansible的配置文件,比如inventory文件是否配置正确等。可以尝试在ansible.cfg文件中加入以下代码:
```
[ssh_connection]
ssh_args = -o ControlMaster=no
```
这个配置可以禁用SSH的ControlMaster特性,有时候这个特性会导致连接失败。
阅读全文