【问题标题】:How to performe command in multiple servers through ssh?如何通过 ssh 在多个服务器中执行命令?
【发布时间】:2013-09-05 21:07:17
【问题描述】:

我正在尝试通过 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

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

附:假设我已经配置.ssh/config文件连接到nginx_1nginx_2nginx_3

【问题讨论】:

    标签: linux unix ubuntu ssh centos


    【解决方案1】:
    for i in {1..3}; do `ssh nginx_$i ps aux | grep logstash`; done
                        ^                                   ^
    

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

    【讨论】:

      【解决方案2】:

      你应该使用pssh而不是for循环。

      【讨论】:

        猜你喜欢
        • 2013-11-22
        • 1970-01-01
        • 2020-11-30
        • 1970-01-01
        • 2011-09-10
        • 1970-01-01
        • 2010-09-19
        • 1970-01-01
        • 2019-12-06
        相关资源
        最近更新 更多