運維自動化輕量級工具pssh

1pssh介紹

pssh是python寫的能夠併發在多臺機器上批量執行命令的工具,它的用法能夠媲美ansible的一些簡單用法,執行起來速度比ansible快它支持文件並行複製,遠程命令執行,殺掉遠程主機上的進程等等。殺手鐗是文件並行複製,,當進行再遠程主機批量上傳下載的時候,最好使用它。python

2pssh的使用

在使用pssh以前,必需要保證管理主機和本地主機進行過密鑰的認證,或者是在進行批量時,沒有作過密鑰認證,可是必須保證被管理的多臺主機的密碼相同。關於如何作密鑰認證,這裏就很少說了,能夠自行百度。api

2.1安裝併發

官網地址:https://code.google.com/archive/p/parallel-ssh/downloads(須要能打開谷歌)ssh

或者是yum 來安裝ide

wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/parallel-ssh/pssh-2.3.1.tar.gz
tar -zxvf pssh-2.3.1.tar.gz
cd pssh-2.3.1
python setup.py install
或者
yum install -y pssh

使用yum安裝後,只能使用pssh,可是編譯安裝後會包括其餘命令也安裝了(pscp  prsync  pnuke  pslurp)工具

pssh:在遠程多臺主機上並行運行命令this

pscp :把文件並行複製到多臺遠程主機上google

prsync:使用rsync協議本地文件同步到遠程多臺主機上。spa

pnuke:在遠程多臺主機上並行killall某一進程線程

pslurp:把文件從遠程多臺主機上覆制到本地主機上

2.2 pssh經常使用參數

 1 pssh  --help
 2 
 3 Usage: pssh [OPTIONS] command [...]
 4 
 5 Options:
 6   --version             show program's version number and exit
 7   --help                show this help message and exit
 8   -h HOST_FILE, --hosts=HOST_FILE
 9                         hosts file (each line "[user@]host[:port]")
10   -H HOST_STRING, --host=HOST_STRING
11                         additional host entries ("[user@]host[:port]")
12   -l USER, --user=USER  username (OPTIONAL)
13   -p PAR, --par=PAR     max number of parallel threads (OPTIONAL)
14   -o OUTDIR, --outdir=OUTDIR
15                         output directory for stdout files (OPTIONAL)
16   -e ERRDIR, --errdir=ERRDIR
17                         output directory for stderr files (OPTIONAL)
18   -t TIMEOUT, --timeout=TIMEOUT
19                         timeout (secs) (0 = no timeout) per host (OPTIONAL)
20   -O OPTION, --option=OPTION
21                         SSH option (OPTIONAL)
22   -v, --verbose         turn on warning and diagnostic messages (OPTIONAL)
23   -A, --askpass         Ask for a password (OPTIONAL)
24   -x ARGS, --extra-args=ARGS
25                         Extra command-line arguments, with processing for
26                         spaces, quotes, and backslashes
27   -X ARG, --extra-arg=ARG
28                         Extra command-line argument
29   -i, --inline          inline aggregated output and error for each server
30   --inline-stdout       inline standard output for each server
31   -I, --send-input      read from standard input and send as input to ssh
32   -P, --print           print output as we get it
33 
34 Example: pssh -h hosts.txt -l irb2 -o /tmp/foo uptime
View Code

具體經常使用介紹:

-h   HOST_FILE   後邊跟遠程主機列表(ip)

-H   HOST_STRING   後邊跟遠程主機名或者ip地址

-l   USER  指定遠程主機的用戶名

-p  PAR   指定pssh最大的並行線程數。

-o  將輸出的內容重定向到一個指定的文件中

-O 指定ssh參數的具體配置

-e  將執行錯誤重定向到一個指定的文件中

-t  設定命令執行超時時間

-x  傳遞ssh命令的一些參數

-i  在遠程主機上執行命令完成後顯示標準輸出和標準錯誤

-P  在執行遠程命令時,輸出執行結果

 用法實例:

pssh -P  -i   -h  sz_vpc.txt  "w" 

3pscp拷貝文件到遠程主機

pscp  -h  ip.txt /etc/wenjian.txt   /tmp/

4pnuke殺掉某一進程

這個命令相似yu  killall命令

pnuke  -h  iplist.txt   httpd

上邊的意思是在遠程主機上批量關閉httpd服務

能經過killall關閉的服務,均可以經過pnuke來批量完成

 5 pslurp 遠程主機拷貝文件到本地主機

pslurp -h iplist.txt -L /home/ /hose/wenjian/yuanc.conf open.conf

上邊是,將全部遠程主機/hose/wenjian/yuanc.conf複製到本地主機/home/目錄下,而且從新命名爲open.conf  -L 來指定本地文件路徑

下面這個是拷貝目錄

 pslurp -h iplist.txt -r -L /home/ /hose/wenjian/ open

ps:建議分發文件,執行命令,批量殺死進程,使用pssh,pscp,pnuke,速度很快的

相關文章
相關標籤/搜索