??pssh命令是一個python編寫可以在多臺服務器上執(zhí)行命令的工具,同時文件的并行復制,殺掉遠程主機上的進程等。要使用pssh工具包,必須配置本地主機和被管理的遠程主機之間ssh單向的免秘鑰認證。
一、安裝pssh工具包(ssh免秘鑰認證不做操作說明)
# 安裝好 epel 源
yum install -y epel-release
# 安裝 pssh 工具包
yum install -y pssh
安裝完成后的 pssh 工具包包含以下5個命令
- pssh:在多臺遠程主機上并行執(zhí)行命令
- pscp:把文件并行復制到多臺遠程主機上
- pslurp:把文件從多臺遠程主機上復制到本地
- pnuke:在多臺遠程主機上并行殺掉某一進程(類似于killall命令)
- prsync:使用rsync協(xié)議將文件從本地主機同步到多臺遠程主機上
# pssh 命令常用參數(shù)
-h host_file :host_file 為遠程主機列表文件,內容格式如下:test@192.168.1.1:2222
-H host_info :操作單個遠程主機
-o :將輸出的內容保持到指定文件中
-O :指定ssh參數(shù)的具體配置,具體參照ssh服務的配置文件,例如:pssh -O StrictHostKeyChecking=no
-P :顯示命令結果
-i :顯示命令執(zhí)行的標準輸出和錯誤輸出
二、實際應用
- 操作單臺遠程主機執(zhí)行命令
pssh -H root@node2 -P date
pssh -H root@node2 -i date

- 操作多臺遠程主機執(zhí)行命令
# host 文件內容
root@node2:22
root@node3:22
# pssh 命令
pssh -h host -P date

- 在遠程主機上使用sudo權限安裝軟件
pssh -P -h host "sudo " yum install -y install nginx" "
- pscp 和 pslurp 應用實例
# 同步單個文件到多臺遠程主機
pscp -h host /etc/hosts /tmp
# 同步目錄到多臺遠程主機
pscp -h host -r /usr/src/sc /tmp
# 同步遠程文件到本地,同步完成后會在本地創(chuàng)建以遠程主機名命令的目錄
pslurp -h host -L /tmp/remote /etc/hosts hosts
