pssh 服务器批量管理

来源:互联网 发布:数据录入查询系统 编辑:程序博客网 时间:2024/05/02 06:13
pssh 是一个服务器批量管理工具,可以对多个服务器执行脚本,文件拷贝等操作

1、下载安装 http://code.google.com/p/parallel-ssh/

2、解压,解压后即可执行

3、将解压后的目录放到 /usr/local/passh下

4、vim ~/.basgrc 增加如下代码

export PATH=$PATH:/usr/local/passh/bin

更新当前环境
source ~/.bashrc

5、创建服务器列表 vim /usr/local/passh/host_list.pssh
192.168.1.1
192.168.1.2
192.168.1.3
.........

6、创建一个硬链接 ln /usr/local/passh/host_list.pssh ~/host_list.pssh 

7、向每个服务器加入自己的公钥
生成公钥
ssh-keygen
将公钥传到每台服务器
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.1
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.2
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.3

8、测试pssh
cd ~
pssh -h host_list.pssh -l root -P ls   
-h       服务器列表文件
-l        登录用户名
-P      执行的命令

常用参数:
-h host_file   主机列表文件
-H     [user@]host[:port]   单个主机
-H     "[user@]host[:port] [ [user@]host[:port ] ... ]"  多个主机
-l user     以什么用户登录
-x args    额外执行多条ssh命令
-X arg额外执行单挑ssh命令
-i    每台服务器结束后打印标准输出和标准错误

案例
连接2台机器
              pssh -i -H "host1 host2" echo "hello, world"

连接某文件中所有机器
              pssh -i -h hosts.txt echo "hello, world"

  以root身份登录
              pssh -i -h hosts.txt -A -l root echo hi

设置超时
              pssh -i -h hosts.txt -t 0 sleep 10000

多有文件中有非常多的机器,用-p 100命令 指定每次指定连接100台服务器
              pssh -i -h hosts.txt -p 100 -t 0 sleep 10000

不检查也不保存ssh的密钥:
              pssh -i -h server-list.txt -l root  -x "-o StrictHostKeyChecking=no  -o  UserKnownHostsFile=/dev/null  -o  GlobalKnownHostsFile=/dev/null" echo "hello, world"


prsync 使用rsync协议从本地计算机同步到远程主机
[root@server ~]# prsync -h test.txt -l root -a -r /etc/sysconfig /tmp/etc   将本地的/etc/sysconfig目录递归同步到目标服务器的 /tmp/etc目录下,并保持原来的时间戳
pslurp 将文件从远程主机复制到本地,和pscp方向相反:
[root@server ~]# pslurp -h test.txt   -L /tmp/test -l root /tmp/network test  将目标服务器的/tmp/network文件复制到本地的/tmp/test目录下,并更名为test
0 0
原创粉丝点击