#[喵咪Liunx(5)集羣管理利器psshnginx
##前言##docker
哈嘍你們好呀!你們在管理服務器的時候若是隻是一兩臺還好,當你管理三臺以上的服務器的時候,你安裝任何一個軟件更改任何一個配置文件就要無比麻煩的每一臺機器都去執行命令(固然用docker等的請無視),pssh能夠幫咱們解決這些問題,能夠吧準備好的腳本批量在全部機器上進行執行,幫助你批量管理服務器集羣!shell
附上:服務器
喵了個咪的博客:w-blog.cnssh
pssh官網地址:http://www.theether.org/pssh/工具
##1. 安裝##code
pssh和monit的安裝方式同樣簡單均可以經過yum安裝便可blog
yum install pssh
而後咱們須要吧咱們的服務器集羣創建好一個文件存起來,推薦存放在/usr/loca/pssh下創建一個hostname的文件,加入以下內容進程
[user@]host[:port] #例子(默認root用戶22端口): root@localhost:22
##2. 使用##ip
使用pssh -i -h hostname "env"就能夠在hostname中的全部服務器上執行env命令(ssh-key被信任的狀況下不然須要加 -A 會須要輸入密碼)
注意:經過ssh鏈接一下保存一下key否則會異常
經過一下命令參考
-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進程 容許命令腳本傳送到標準輸入
##3. 場景
那麼在什麼場景下面咱們須要pssh來幫助咱們完成經常使用的shell操做呢?
###統一環境
在通常的中小公司服務器管理下最大的問題就是環境統一問題,這個服務器nginx你裝的是1.9,3,那個服務器裝的是2.0.1,而後這個問題在長時間維護中就會無限放大,當別人接過幾回手了以後就更慘了,因此全部全部的服務器從感受的服務器開始同使用pssh統一配置安裝等均可以統一塊兒來不會有特別麻煩的兼容問題!
###服務器維護
好比在上線的時候服務器須要關閉對外服務器你可能須要關閉外部訪問,這個時候要是服務器比較或也不可能登陸每一臺服務器進行關閉,這個時候使用pssh就能夠很好地統一關閉服務或者切換到升級頁面(用docker也要解決這個問題)
##4. 總結##
pssh總之是一個很是好用的工具,在不少場景都能起到很好的集羣服務器管理的做用,你們GET到了嗎?
注:筆者能力有限有說的不對的地方但願你們可以指出,也但願多多交流!