pssh 批量管理執行


pssh 是一個python寫的批量執行工具,非常適合30台服務器以內的一些重復性的操作
安裝很簡單,只要python版本2.4 以上的都行
用這個工作最好把機器做做好ssh信任關系,不然很麻煩 每次執行 都需要輸入密碼 
 
[root@localhost ~]# wget https://pypi.python.org/packages/source/p/pssh/pssh-2.3.1.tar.gz
--2014-05-22 20:56:16--  https://pypi.python.org/packages/source/p/pssh/pssh-2.3.1.tar.gz
Resolving pypi.python.org... failed: Name or service not known.
wget: unable to resolve host address “pypi.python.org”
[root@localhost ~]# wget https://pypi.python.org/packages/source/p/pssh/pssh-2.3.1.tar.gz
--2014-05-22 20:56:27--  https://pypi.python.org/packages/source/p/pssh/pssh-2.3.1.tar.gz
Resolving pypi.python.org... 103.245.222.175
Connecting to pypi.python.org|103.245.222.175|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 23427 (23K) [application/octet-stream]
Saving to: “pssh-2.3.1.tar.gz”
100%[========================================================================================================================================================================>] 23,427       124K/s   in 0.2s    
2014-05-22 20:56:28 (124 KB/s) - “pssh-2.3.1.tar.gz” saved [23427/23427]
[root@localhost ~]# tar zxf pssh-2.3.1.tar.gz 
[root@localhost ~]# cd pssh-2.3.1
[root@localhost pssh-2.3.1]# python setup.py install
安裝完畢后會有如下提示
copying build/scripts-2.6/pslurp -> /usr/bin
copying build/scripts-2.6/pssh -> /usr/bin
copying build/scripts-2.6/pnuke -> /usr/bin
copying build/scripts-2.6/pscp -> /usr/bin
copying build/scripts-2.6/prsync -> /usr/bin
copying build/scripts-2.6/pssh-askpass -> /usr/bin
這幾個就是他的命令,命令也相對來說很簡單,不明白的可以看help,英文說明簡單到我個文盲都能看懂
pssh   多主機並行運行命令
pscp   傳輸文件到多個hosts,他的特性和scp差不多
pslurp   從多台遠程機器拷貝文件
pnuke    kill遠程機器的進程
pslurp   從遠程主機考本文件到本地
prsync   使用rsync協議從本地計算機同步到遠程主機
 
pssh:
-h 執行命令的遠程主機列表  或者 -H user@ip:port  文件內容格式[user@]host[:port]
-l 遠程機器的用戶名
-p 一次最大允許多少連接
-o 輸出內容重定向到一個文件
-e 執行錯誤重定向到一個文件
-t 設置命令執行的超時時間
-A 提示輸入密碼並且把密碼傳遞給ssh
-O 設置ssh參數的具體配置,參照ssh_config配置文件
-x 傳遞多個SSH 命令,多個命令用空格分開,用引號括起來
-X 同-x 但是一次只能傳遞一個命令
-i 顯示標准輸出和標准錯誤在每台host執行完畢后
-I 讀取每個輸入命令,並傳遞給ssh進程 允許命令腳本傳送到標准輸入
-P 打印輸出
[root@localhost ~]# pssh -H 192.168.1.100 -i ls  #單台機器 -H 參數
[1] 03:12:05 [SUCCESS] 192.168.1.100
anaconda-ks.cfg
hellotest
install.log
install.log.syslog
nginx
ocaml-4.01.0.tar.gz
password
rsync-3.0.4
rsync-3.0.4.tar.gz
rsync_install.sh
test.sh
zabbix-2.0.8
zabbix-2.0.8.tar.gz
[root@localhost ~]# cat ip.txt  #多台機器的話可以把IP寫進一個文件里面 用-h參數指定文件
192.168.1.91
192.168.1.92
192.168.1.100
192.168.1.101
192.168.1.102
192.168.1.130
192.168.1.131
192.168.1.132
[root@localhost ~]# pssh -h ip.txt -i date  #-i表示執行完畢后顯示標准輸出和標准錯誤
[1] 03:15:05 [SUCCESS] 192.168.1.92
Sun Jul 27 03:43:53 EDT 2014
[2] 03:15:05 [SUCCESS] 192.168.1.101
Sun Aug  3 23:12:03 EDT 2014
[3] 03:15:05 [SUCCESS] 192.168.1.100
Sun Aug  3 23:12:03 EDT 2014
[4] 03:15:05 [SUCCESS] 192.168.1.130
Sun Aug  3 23:17:45 EDT 2014
[5] 03:15:05 [SUCCESS] 192.168.1.131
Sun Aug  3 23:17:45 EDT 2014
[6] 03:15:05 [SUCCESS] 192.168.1.132
Sun Aug  3 23:17:45 EDT 2014
[7] 03:15:05 [SUCCESS] 192.168.1.91
Thu May 22 21:42:49 EDT 2014
[8] 03:15:10 [SUCCESS] 192.168.1.102
Sun Aug  3 23:11:58 EDT 2014
[root@localhost ~]# 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM