centos-rhel服务器相关 / 未分类 · 2013年6月25日

pssh简单入门

第一 安装
×××××××××××××××××
1)##rhel 系列 yum
Download the latest rpmforge-release rpm from
#4 centos6.x rhel 6.x and sl6.x
http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/
#4 centos5.x rhel 5.x and sl5.x
http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/
Install rpmforge-release rpm:
# rpm -Uvh rpmforge-release*rpm
Install pssh rpm package:
# yum install pssh -y
2)##debian 系列
sudo apt-get install pssh
vi ~/.bashrc
alias pssh='parallel-ssh'
alias pscp='parallel-scp'
alias prsync='parallel-rsync'
export PSSH_HOSTS="/root/servers.txt"
export PSSH_USER="root"
export PSSH_PAR="32"
export PSSH_OUTDIR="/tmp"
export PSSH_VERBOSE="0"
export PSSH_OPTIONS="UserKnownHostsFile /root/.ssh/known_hosts"

source .bashrc #或者
source ~/.profile

3)##源码安装
wget http://parallel-ssh.googlecode.com/files/pssh-2.3.1.tar.gz
tar zxvf pssh-2.3.1.tar.gz
cd pssh-2.3.1/
python setup.py install

第二 配置和使用
×××××××××××××××××
#ssh-keygen #一直回车
#ssh-copy-id -i .ssh/id_rsa.pub root@192.168.16.X #复制公钥到远端服务器
ps.如果端口不是默认22 ,需要使用:ssh-copy-id -i .ssh/id_rsa.pub ”-p 4567 yin@192.168.16.X”
创建主机列表文件:
root@evan-laptop:~# cat servers.txt
192.168.21.208
192.168.22.106
parallel-scp -h servers.txt 1 /tmp/
重启 Nginx:
pssh killall -HUP nginx
批量复制文件:
pscp /etc/hosts /tmp/hosts
为了便于管理,可以使用 -h 参数指定主机列表文件,给主机分组
pssh参数
-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进程 允许命令脚本传送到标准输入
5 介绍软件包内其他命令
pscp 传输文件到多个hosts,他的特性和scp差不多
pslurp 从多台远程机器拷贝文件
pnuke kill远程机器的进程
参考资料
http://bbs.linuxtone.org/thread-3626-1-4.html
http://my.oschina.net/guol/blog/59977
批量部署ssh私钥认证以及pssh工具使用方法
http://research.blog.51cto.com/2258479/922317
http://pkgs.org/centos-6-rhel-6/repoforge-i386/pssh-2.0-1.el6.rf.noarch.rpm.html
http://linuxfun.me/?p=748
http://qubaoquan.blog.51cto.com/1246748/742674