pssh使用手冊

一、介紹

參考文章

首先我們來了解下什麼是pssh,它是幹嘛用的?pssh是一個python編寫可以在多臺服務器上執行命令的工具,也可以實現文件複製。換而言之就是一個批量管理多臺服務器的一個小工具。常常我們有這樣的經歷,就是需要在很多臺主機上執行同一命令,在以前我們需要編寫一個腳本,然後寫一個循環,然後寫上要執行的命令,感覺挺麻煩的,有了pssh這個工具,很多事情都不需要我們編寫腳本去完成了,用pssh管理多臺主機,就好像在自己主機上執行命令一樣,我們不再編寫腳本就可以實現管理多臺主機。接下來我們來安裝使用pssh吧

二、安裝

yum安裝

yum install -y pssh

查看版本

[root@localhost ~]# pssh --version
2.3.1

pssh命令

[root@localhost ~]# pssh --help
Usage: pssh [OPTIONS] command [...]

Options:
  --version             				展示版本信息
  --help                				展示幫助信息
  -h HOST_FILE, --hosts=HOST_FILE		主機文件(每行 [user@]host[:port])
  -H HOST_STRING, --host=HOST_STRING	主機地址(格式 "[user@]host[:port]")
  -l USER, --user=USER  				用戶名(可選)
  -p PAR, --par=PAR    					最大並行線程數(可選)
  -o OUTDIR, --outdir=OUTDIR			標準輸出文件的輸出目錄(可選)
  -e ERRDIR, --errdir=ERRDIR			錯誤輸出文件的輸出目錄(可選)
  -t TIMEOUT, --timeout=TIMEOUT			每個主機的超時時間(秒)(0 =無超時)(可選)
  -O OPTION, --option=OPTION			SSH選項(可選)
  -v, --verbose         				打開警告和診斷消息(可選)
  -A, --askpass         				要求輸入密碼(可選)
  -x ARGS, --extra-args=ARGS			額外的命令行參數             
  -X ARG, --extra-arg=ARG				額外的命令行參數
  -i, --inline          				每個服務器內部處理信息輸出
  --inline-stdout       				每個服務器的內聯標準輸出
  -I, --send-input      				從標準輸入讀取並作爲輸入發送到ssh
  -P, --print           				打印輸出

Example: pssh -h hosts.txt -l irb2 -o /tmp/foo uptime

三、使用

1、首先要服務器之間配置免密鑰登陸

安裝ssh-keygen、ssh-copy-id

yum install -y ssh-keygen
yum install -y ssh-copy-id

生成公鑰

ssh-keygen 加兩次回車

將公鑰文件發送到指定的服務器

ssh-copy-id 192.168.1.171
ssh-copy-id 192.168.1.172

2、創建一個服務器列表文件

vim iplist

內容格式[user@]host[:port]

root@192.168.1.171
root@192.168.1.172

3、輸入命令測試

在這兩臺主機上生成test文件內容爲123

[root@localhost ~]# pssh -h iplist 'echo 123 > test'
[1] 14:48:45 [SUCCESS] [email protected]
[2] 14:48:45 [SUCCESS] [email protected]

執行成功後在這兩臺主機上會生成test文件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章