使用PSSH批量操作Linux服務器


簡介

服務器多了,有一個問題就是如何批量快速操作多台服務器,在網上搜到了PSSH工具,試用了一下發現挺好用,推薦給大家。

pssh是一個python編寫的可以在多台服務器上執行命令的輕量級管理工具,同時支持拷貝文件,python版本大於2.4即可,項目地址:parallel-ssh

安裝

$ wget http://parallel-ssh.googlecode.com/files/pssh-2.3.1.tar.gz

$ tar -xzvf pssh-2.3.1.tar.gz

$ cd pssh-2.3.1

$ python setup.py install

PSSH相關參數

  • -h 執行命令的遠程主機列表文件,文件內容格式[user@]host[:port]
    • 如 test@127.0.0.2:229
  • -H 執行命令主機,主機格式 user@ip:port
  • -l 遠程機器的用戶名
  • -p 一次最大允許多少連接
  • -P 執行時輸出執行信息
  • -o 輸出內容重定向到一個文件
  • -e 執行錯誤重定向到一個文件
  • -t 設置命令執行超時時間
  • -A 提示輸入密碼並且把密碼傳遞給ssh(如果機器都是ssh key打通的則無需加-A)
  • -O 設置ssh一些選項
  • -x 設置ssh額外的一些參數,可以多個,不同參數間空格分開
  • -X 同-x,但是只能設置一個參數
  • -i 顯示標准輸出和標准錯誤在每台host執行完畢后

用法示例

先創建一個文本文件hosts.txt,存放要操作的機器列表,格式為[user@]host[:port]:

user1@127.0.0.1:1254
user2@127.0.0.2
127.0.0.3

用pssh查看所有服務器的uptime:

$ pssh -i -h hosts.txt 'uptime'

可根據需要把 update 換為別的命令

附加工具

pssh安裝后附加了一些很好用的工具,主要有:

1、pscp

作用:傳輸文件到多個hosts,類似scp

示例:

$ pscp -h hosts.txt foo.txt /home/foo.txt

2、pslurp

作用:從多台遠程機器拷貝文件到本地

示例:

$ pslurp -h hosts.txt /etc/hosts local_dir

3、pnuke

作用:並行在遠程主機殺進程

示例:

$ pnuke -h hosts.txt -l root java

4、prsync

作用:使用rsync協議從本地計算機同步到遠程主機

示例:

$ prsync -r -h hosts.txt foo /home/foo

參考文檔

http://www.opstool.com/article/266

http://linux.die.net/man/1/pssh


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM