如何通过ssh在多个服务器上执行命令?

时间:2013-09-02 17:57:45

标签: linux unix ubuntu ssh centos

我正在尝试通过ssh在多个服务器上执行命令,这就是我正在尝试做的事情:

for i in {1..3}; do `ssh nginx_$i ps aux | grep logstash`; done

但它告诉我安装一些包:

The program 'root' is currently not installed. You can install it by typing:
sudo apt-get install root-system-bin

我不相信我需要安装它,因为如果我这样做

ssh nginx_1 ps aux | grep logstash

它有效,并给我正确的结果。

P.S。假设我已配置.ssh/config个文件以连接到nginx_1nginx_2nginx_3

2 个答案:

答案 0 :(得分:4)

for i in {1..3}; do `ssh nginx_$i ps aux | grep logstash`; done
                    ^                                   ^

放弃反引号。如果包含它们,shell将尝试执行命令的输出。

答案 1 :(得分:2)

您应该使用pssh来代替for循环。

相关问题