PSSH是一个批量操作服务器的软件,当运维人员负责一个服务器集群的时候,面对二三十台服务器的时候,先把这些服务器的ip们都写进一个文档里,然后使用pssh 搭配这个文档,就能一口气的同时操作这二三十台机器,省事又省力,真是居家旅行节省体力的运维必需品。
安装
pssh是在python的基础上编写出来的脚本命令,所以python是操作pssh的基础,现在的linux和mac os都自带python,虽然自带的是python的版本是2.6.6但是也已经够用了。
#wget ftp://ftp.freebsd.ch/gentoo/distfiles/pssh-2.3.1.tar.gz,下载pssh-2.3.1。
#tar -zxvf pssh-2.3.1.tar.gz
#cd pssh-2.3.1
#python setup.py install
安装成功的话,就有这样的提示:
可以看见/usr/bin里就多了很多的可执行命令,比如说pssh,可以#pssh --help一下,就知道其具体的用法了。
各命令解析和用法
pssh 多主机并行运行命令
pscp 传输文件到多个hosts,他的特性和scp差不多
pslurp 从多台远程机器拷贝文件
pnuke kill远程机器的进程
pslurp 从远程主机考本文件到本地
prsync 使用rsync协议从本地计算机同步到远程主机,这个协议很重要,比如说购物网站,某个物品只有一个,一旦这个物品被买走了,数据库就发生了变化,同时使用prsync命令把数据与其他主机进行同步,其他的服务器也会更新"此物品已经售罄"。
pssh的参数:
-h 执行命令的远程主机列表 或者 -H [email protected]:port 文件内容格式[[email protected]]host[:port]
-l 远程机器的用户名
-p 一次最大允许多少连接
-o 输出内容重定向到一个文件
-e 执行错误重定向到一个文件
-t 设置命令执行的超时时间
-A 提示输入密码并且把密码传递给ssh
-O 设置ssh参数的具体配置,参照ssh_config配置文件
-x 传递多个SSH 命令,多个命令用空格分开,用引号括起来
-X 同-x 但是一次只能传递一个命令
-i 显示标准输出和标准错误在每台host执行完毕后
-I 读取每个输入命令,并传递给ssh进程 允许命令脚本传送到标准输入
-P 打印输出
操作