批量執行,並行傳輸,遠程killall
#yum安裝
yum install pssh -y
#yun安裝后pscp改名為pscp.pssh
#源碼編譯
wget https://pypi.python.org/packages/60/9a/8035af3a7d3d1617ae2c7c174efa4f154e5bf9c24b36b623413b38be8e4a/pssh-2.3.1.tar.gz
tar xf pssh-2.3.1.tar.gz
cd pssh-2.3.1/
python setup.py install
#注:在使用工具前,確保主機間做了密鑰認證,否則無法實現自動化,當然我們可以使用sshpass配合pssh -A參數實現自動輸入密碼,
#但這要保證多台主機的密碼相同,同時還要注意如果known_hosts沒有信任遠程主機,那么命令執行會失敗,
#可以加上-O StrictHostKeyChecking=no參數解決,ssh能用的選項pssh也能用
#pssh 遠程批量執行命令
pssh -h ip.txt -P "uptime"
#-h 后面接主機ip文件,文件數據格式[user@]host[:port]
#-P 顯示輸出內容
#如果沒辦法密鑰認證.可以采用下面方法,但不是很安全
sshpass -p 123456 pssh -A -h ip.txt -i "uptime"
#pscp 並行傳輸文件到遠端
#傳文件,不支持遠程新建目錄
pscp -h ip.txt test.py /tmp/dir1/
#傳目錄
pscp -r -h ip.txt test/ /tmp/dir1/
#prsync 並行傳輸文件到遠端
#傳文件,支持遠程新建目錄,即目錄不存在則新建
prsync -h ip.txt test.py /tmp/dir2/
#傳目錄
prsync -r -h ip.txt test/ /tmp/dir3/
#pslurp從遠程拉取文件到本地,在本地自動創建目錄名為遠程主機ip的目錄,將拉取的文件放在對應主機IP目錄下
#格式:pslurp -h ip.txt -L <本地目錄> <遠程目錄/文件> <本地重命名>
#拉取文件
pslurp -h ip.txt -L /root/ /root/1.jpg picture
ll /root/172.16.1.13/picture
-rw-r--r-- 1 root root 148931 Jan 9 15:41 /root/172.16.1.13/picture
#拉取目錄
pslurp -r -h ip.txt -L /root/ /root/test temp
ll -d /root/172.16.1.13/temp/
drwxr-xr-x 2 root root 23 Jan 9 15:49 /root/172.16.1.13/temp/
#pnuke:遠程批量killall
pnuke -h ip.txt nginx