轉載自http://www.cnblogs.com/lurenjiashuo/p/pssh.html
簡介
服務器多了,有一個問題就是如何批量快速操作多臺服務器,在網上搜到了PSSH工具,試用了一下發現挺好用,推薦給大家。
pssh是一個python編寫的可以在多臺服務器上執行命令的輕量級管理工具,同時支持拷貝文件,python版本大於2.4即可,項目地址:parallel-ssh。
安裝
$ wget http://parallel-ssh.googlecode.com/files/pssh-2.3.1.tar.gz $ tar -xzvf pssh-2.3.1.tar.gz $ cd pssh-2.3.1 $ python setup.py install
PSSH相關參數
- -h 執行命令的遠程主機列表文件,文件內容格式[user@]host[:port]
- 如 [email protected]:229
- -H 執行命令主機,主機格式 user@ip:port
- -l 遠程機器的用戶名
- -p 一次最大允許多少連接
- -P 執行時輸出執行信息
- -o 輸出內容重定向到一個文件
- -e 執行錯誤重定向到一個文件
- -t 設置命令執行超時時間
- -A 提示輸入密碼並且把密碼傳遞給ssh(如果機器都是ssh key打通的則無需加-A)
- -O 設置ssh一些選項
- -x 設置ssh額外的一些參數,可以多個,不同參數間空格分開
- -X 同-x,但是隻能設置一個參數
- -i 顯示標準輸出和標準錯誤在每臺host執行完畢後
用法示例
先創建一個文本文件hosts.txt,存放要操作的機器列表,格式爲[user@]host[:port]:
user1@127.0.0.1:1254 user2@127.0.0.2 127.0.0.3
用pssh查看所有服務器的uptime:
$ pssh -i -h hosts.txt 'uptime'
可根據需要把 update 換爲別的命令
附加工具
pssh安裝後附加了一些很好用的工具,主要有:
1、pscp
作用:傳輸文件到多個hosts,類似scp
示例:
$ pscp -h hosts.txt foo.txt /home/foo.txt
2、pslurp
作用:從多臺遠程機器拷貝文件到本地
示例:
$ pslurp -h hosts.txt /etc/hosts local_dir
3、pnuke
作用:並行在遠程主機殺進程
示例:
$ pnuke -h hosts.txt -l root java
4、prsync
作用:使用rsync協議從本地計算機同步到遠程主機
示例:
$ prsync -r -h hosts.txt foo /home/foo
參考文檔
http://www.opstool.com/article/266
http://linux.die.net/man/1/pssh