PSSH-并发在多台服务器上批量执行命令的工具

介绍

pssh全称是parallel-ssh,是一个Python编写的可以并发在多台服务器上批量执行命令的工具,

它支持文件并行复制、远程并行执行命令、杀掉远程主机上的进程等。

前提:使用pssh工具包,必须保证本地主机和管理的远程主机之间的单向信任,

也就是要在本地主机和所有远程服务器上配置密钥认证访问。

一、建立本地主机和管理的远程主机之间的单向信任

[fieldyang@master~]$ mkdir ~/.ssh

mkdir:无法创建目录"/root/.ssh":文件已存在

[fieldyang@master~]$ chmod 700 ~/.ssh

[fieldyang@master~]$ cd ~/.ssh

1、使用ssh-keygen命令生成基于SSH协议的RSA秘钥,提示保存位置及密钥时,选择默认,方便使用

[fieldyang@master.ssh]$ ssh-keygen -t rsa

Generatingpublic/private rsa key pair.

Enterfile in which to save the key (/root/.ssh/id_rsa): <-----可以输入存放密钥的地址

Enterpassphrase (empty for no passphrase): <-----输入密语,可以为空

Entersame passphrase again: <-----确认密语,可以为空

Youridentification has been saved in /root/.ssh/id_rsa. <-----生成的密钥

Yourpublic key has been saved in /root/.ssh/id_rsa.pub.<-----生成的公钥

2、将本地节点生成的公钥文件整合为一个authorized_keys文件,并进行授权

[fieldyang@master.ssh]$ cd ~/.ssh

[fieldyang@master.ssh]$ cat /root/.ssh/id_rsa.pub > authorized_keys

[fieldyang@master.ssh]$ chmod 600 ~/.ssh/authorized_keys

3、将authorized_keys文件复制到远程主机上

4、测试ssh密钥认证是否成功建立

5、重复以上1~4,在所有的远程主机上执行,即可实现本地主机对所有远程主机的单向通信

二、安装使用

1、安装

先安装ez_setup.py,ez_setup.py是python官方给出的一个安装setuptools的工具,利用它,我们可以很轻松用命令行就自动完成安装过程。
[root@nfs-server test]# wget http://peak.telecommunity.com/dist/ez_setup.py
[root@nfs-server test]# wget http://files.opstool.com/files/pssh-2.3.tar.gz

2、解压安装包并安装

tar xf pssh-2.3.tar.gz
cd pssh-2.3
python setup.py build
running build
running build_py
running build_scripts


python setup.py install

pssh --version
2.3


①pssh 多主机并行执行命令
获取每台机器上的时间,先在管理机上新建ip.txt (一定要搞清楚各服务器的登录方式,端口还有用户登录权限)

执行命令:pssh -p 11 -i -h ip.txt -A “date"

一:复制文件到远程服务器指定位置(其中-A的意思就是使用手动密码  不使用ssh key,位置也要放正确了)
[root@yufuka-1 pssh-2.3.1]# pscp -h ip.txt -A /tmp/yufuka.py /tmp/

二:传目录
[root@yufuka-1 pssh-2.3.1]# pscp -r -h ip.txt -A test/ /tmp/dir3

三:删除目录下的指定文件
[root@yufuka-1 pssh-2.3.1]# pssh -h ip.txt -A rm -f /tmp/yufuka.py

四、pslurp从远程拉取文件到本地,在本地自动创建目录名为远程主机ip的目录,将拉取的文件放在对应主机IP目录下

#格式:pslurp -h ip.txt -L <本地目录>  <远程目录/文件>  <本地重命名>
#拉取文件
pslurp -h ip.txt -L /root/ /root/1.jpg picture
ll /root/172.16.1.13/picture
-rw-r--r-- 1 root root 148931 Jan  9 15:41 /root/172.16.1.13/picture
#拉取目录
pslurp -r -h ip.txt -L /root/ /root/test temp
ll -d /root/172.16.1.13/temp/
drwxr-xr-x 2 root root 23 Jan  9 15:49 /root/172.16.1.13/temp/

#pnuke:远程批量killall
pnuke -h ip.txt nginx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值