使用PSSH批量SSH操作Linux伺服器

白喬發表於2015-03-05

http://www.opstool.com/article/266

伺服器多了,有一個煩惱就是如何批量快速操作一堆伺服器。這裡我推薦一下經常使用利器pssh。這個工具給我的工作帶來了莫大的幫助。

簡介
pssh是一款開源的軟體,使用python實現。用於批量ssh操作大批量機器。pssh的專案地址https://code.google.com/p/parallel-ssh/

安裝
在pssh的專案主頁找到相應的版本,下載到我們的伺服器上,解壓後執行python setup.py安裝。下面以pssh-2.3的安裝為例

  1. wget 'https://parallel-ssh.googlecode.com/files/pssh-2.3.tar.gz'
  2.  
  3. #如果上面連結無法下載(被牆)可以換我這個連結
  4. wget 'http://files.opstool.com/files/pssh-2.3.tar.gz'
  5.  
  6. tar -xzvf pssh-2.3.tar.gz
  7. cd pssh-2.3
  8. python setup.py install

常用的方法

pssh使用幫助

pssh --help

pssh檢視所有伺服器的uptime

  • -h list 指定了執行命令的機器列表,需要建立list檔案,如:
    • host0
      host1

  • -A表示提示輸入密碼(如果機器都是ssh key打通的則無需加-A)
pssh -i -A -h list 'uptime'

使用pscp向一堆機器分發檔案

pscp -h list  localfile   remote_dir

從一堆機器中拷貝檔案到中心機器

pslurp -h list /etc/hosts local_dir

常見問題
如果你遇到這樣的錯誤:

IOError: [Errno 4] Interrupted system call 

建議升級python版本到python2.7


相關文章