例如,
我有两个服务器,即A和B.我想在A或B中使用grep命令,它将在A和B服务器中搜索并显示匹配。
答案 0 :(得分:2)
你可以使用并行ssh(pssh)。
请参阅此命令:
parallel-ssh -P -v -l root -A -H "192.168.1.1 192.168.1.2 192.168.1.3" "hostname"
其中hostname
是在每个主机上执行的命令。 -P
表示打印命令的输出,-l root
表示以root用户登录,-A
请求密码,-H
提供主机列表。
输出可能与此类似:
192.168.140.193: hostname1
192.168.140.194: hostname2
192.168.140.195: hostname3
[1] 11:18:17 [SUCCESS] 192.168.140.193
[2] 11:18:17 [SUCCESS] 192.168.140.194
[3] 11:18:17 [SUCCESS] 192.168.140.195
答案 1 :(得分:1)
对于那些无法访问parallel-ssh的人,请尝试:
#!/bin/bash
remotehost='hostnameA'
if [ `hostname` == 'hostnameA' ]
then
remotehost='hostnameB'
fi
{
grep whatever
ssh $remotehost grep whatever
}
第一部分列出了您所在的主持人以及ssh
所需的内容。第二部分在两台主机上执行命令,并将输出分组在一起。