使用PSSH批量操作Linux服務器

轉載自http://www.cnblogs.com/lurenjiashuo/p/pssh.html

簡介

服務器多了,有一個問題就是如何批量快速操作多臺服務器,在網上搜到了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]
  • -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



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