Linux服务器批量执行工具 PSSH 安装与使用教程

操作一台服务器的时候可以 ssh,操作多台服务器可以开多个窗口多个 ssh,那操作很多台服务器呢?

我们的一个 Oracle Gird Engine 集群上大概有60多台 Ubuntu 服务器作执行节点,这些服务器操作系统和软件配置完全一样(上线后由 puppet 统一配置),有时候我们需要在这些服务器上做同样的操作,这个时候特别适合使用 PSSH 这种 ssh 批量操作工具。

当然,如果对 Python 不恐惧的话也可以用 Fabric 批量执行服务器任务。

下载和安装 pssh:

$ git clone http://code.google.com/p/parallel-ssh/
$ cd parallel-ssh/
$ sudo python setup.py install

批量执行

首先新建一个服务器列表文件,把需要操作的服务器的 hostname(或者 IP 地址)加进去,然后就可以批量执行 uptime 命令了,-l 指定登录用户名,-A 询问密码,-h 指定服务器列表文件:

$ vi grids
grid01
grid02
grid03
grid04
grid05

$ pssh -i -l root -A -h grids 'uptime'
Warning: do not enter your password if anyone else has superuser
privileges or access to your account.
Password:
[1] 05:42:09 [SUCCESS] grid01
 11:42:09 up 620 days, 20:30,  0 users,  load average: 6.09, 6.14, 6.13
[2] 05:42:09 [SUCCESS] grid03
 11:42:09 up 620 days, 20:29,  0 users,  load average: 9.01, 9.04, 9.05
[3] 05:42:09 [SUCCESS] grid05
 11:42:09 up 620 days, 20:10,  0 users,  load average: 8.46, 8.18, 8.10
[4] 05:42:09 [SUCCESS] grid04
 11:42:09 up 620 days, 20:25,  0 users,  load average: 6.00, 6.01, 6.05
[5] 05:42:10 [SUCCESS] grid02
 11:42:10 up 606 days,  2:07,  0 users,  load average: 6.03, 6.02, 6.01

批量上传

批量上传本地文件 linux-3.14.3.tar.xz 到服务器上的 /tmp 目录:

$ pscp -l root -A -h grids linux-3.14.3.tar.xz /tmp/
Warning: do not enter your password if anyone else has superuser
privileges or access to your account.
Password:
[1] 05:56:16 [SUCCESS] grid01
[2] 05:56:16 [SUCCESS] grid03
[3] 05:57:04 [SUCCESS] grid05
[4] 05:57:04 [SUCCESS] grid04
[5] 05:57:05 [SUCCESS] grid02

批量下载

批量下载服务器上的某文件到本地,不用担心重名问题,因为 pssh 已经建立了 grid01, grid02, …, grid05 目录来存放下载的文件:

$ pslurp -l root -h grids -A /tmp/linux-3.14.3.tar.xz .
Warning: do not enter your password if anyone else has superuser
privileges or access to your account.
Password:
[1] 06:06:01 [SUCCESS] grid01
[2] 06:06:01 [SUCCESS] grid03
[3] 06:06:06 [SUCCESS] grid04
[4] 06:06:06 [SUCCESS] grid02
[5] 06:06:06 [SUCCESS] grid05

$ ls
grid01  grid02  grid03  grid04  grid05  grids  linux-3.14.3.tar.xz  parallel-ssh

批量同步

有时候我们需要保持开发机上(某目录里)的数据和服务器上的数据一致:

$ prsync -l root -h grids -A -r develop/ /tmp/production/
Warning: do not enter your password if anyone else has superuser
privileges or access to your account.
Password:
[1] 06:12:52 [SUCCESS] grid05
[2] 06:12:52 [SUCCESS] grid01
[3] 06:12:52 [SUCCESS] grid04
[4] 06:12:52 [SUCCESS] grid02
[5] 06:12:52 [SUCCESS] grid03

 

时间: 2024-10-03 21:45:48

Linux服务器批量执行工具 PSSH 安装与使用教程的相关文章

linux服务器WEB环境一键安装包lanmp系列教程四

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 在我们安装了linux服务器WEB环境一键安装包lanmp后,可能会有不少疑问还有就是使用过程中出现的问题,下面为大家总结几点比较常见的,如若还有其他疑问,可到wdlinux论坛寻找相关教程. 1.关于绑定域名给大家的建议,新手值得看 大家在新建站点的时候,第一行,域名那一项,建议不要填写顶级域名,为什么?因为你填写之后,是无法修改的,你以后

使用Linux集群管理工具pssh批量管理服务器

当你有多台服务器,如果一台一台登录上去管理那就说不出的麻烦,所以批量管理工具就应运而生了.只要你设置了SSH无密码登录: ssh-keygen -t rsa ssh-copy-id user@host 将密钥分发到响应的host上就可以实现无密码ssh登录和操作了. pssh是使用Python编写的,运行它前需要确保机器上已经安装了Python环境. 使用wget下载编译安装: wget http://parallel-ssh.googlecode.com/files/pssh-2.3.1.ta

Linux服务器下MariaDB 10自动化安装部署_MongoDB

去MariaDB官网下载MariaDB本文用的是MariaDB 10.1.16 https://downloads.mariadb.org 选择二进制版本,下载到/root目录下 mariadb-10.1.16-linux-x86_64.tar.gz 开始安装 [root@HE3 ~]# cat mariadb_auto_install.sh ###### 二进制自动安装数据库脚本root密码MANAGER将脚本和安装包放在/root目录即可############### ######数据库目录

python实现linux服务器批量修改密码并生成execl_python

批量修改linux服务器密码,同时生成execl表格 复制代码 代码如下: #!/usr/bin/env python#coding:utf8#随机生成自定义长度密码from random import choiceimport string,pickle def GenPassword(length=8,chars=string.ascii_letters+string.digits):    return ''.join([choice(chars) for i in range(lengt

Linux系统CENTOS 6.8下安装锐速的教程

锐速可能还有很多朋友没有听说过,不仅可以加速Web访问,官方的说明为锐速(ServerSpeeder)加速软件是一种基于ZETATCP加速引擎的软件,可以起到显著加速效果的 TCP 加速技术,增强VPS/服务器连接的稳定性,且有效的提高服务器的带宽利用率.不过有很多朋友是基于Linux 系统CENTOS 6.8,有时候出现了不能安装锐速的情况,由于锐速官方尚不支持centos6.8,所以centos6.8想要安装锐速就要降级内核. 另外,据说这玩意居然还可以提高VPN的访问速度,像部落之前介绍过

linux服务器WEB环境一键安装包lanmp系列教程之三

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 在我们安装了linux服务器WEB环境一键安装包lanmp后,可能会有不少疑问还有就是使用过程中出现的问题,下面为大家总结几点比较常见的,如若还有其他疑问,可到wdlinux论坛寻找相关教程. 1.Apache Struts漏洞修复(网上收集) 由于近期Apache官方直接把如何利用漏洞的方法放在官网的公告里,黑客 利用该漏洞攻击网站的案例剧

打造自己的Linux服务器监控小工具

周末在家蛮无聊的,思考人生的同时突发奇想就写一个服务器监控的小工具吧.学JAVA快1年了,刚好检验一下自己! 仔细想想呢估计作用可能也有限,毕竟外面各种监控工具也很多,初衷其实也只是练练手,加上平时比较懒,那么为了更方便的看服务器性能指标,所以就选了这个题材咯,那么就开始吧. 不过优点也是有的嘛,至少不需要在服务器端装一个脚本之类的了. 一.小工具的功能 1 能够读取服务器CPU,IO,Memory的性能指标并在页面展示出来 2 把监控的信息打印到文件,方便进行数据分析 二.准备工作 java开

Linux服务器中对于Memcache的安装配置方法_Linux

下载:http://www.danga.com/memcached/dist/memcached-1.2.2.tar.gz 另外,memcache用到了libevent这个库用于socket的处理,所以还需要安装libevent,libevent的最新版本是libevent-1.3.(如果你的系统已经安装了libevent,可以不用安装) 官网:http://www.monkey.org/~provos/libevent/ 下载:http://www.monkey.org/~provos/lib

Linux服务器安全狗Apache版本安装步骤

说明:  在CentOS下使用yum命令默认安装的httpd版本,直接安装服务器安全狗Apache版本没有问题.  但是,如果Apache是自定义路径并且增加模块编译安装的,这个时候默认安装服务器安全狗Apache版本会报错,提示安装失败.     httpd-2.2.31   php-5.2.17   注意:咨询安全狗官方人员得到的回复是php版本太低,高版本的php直接安装不会有问题,这里是php-5.2.17的版本,其他的版本没试过.   解决办法:   1.下载安全狗   cd /usr