批量操作-pssh

一、使用背景

在大规模集群中,要实现对服务器的统一管理,比如监听网卡流量,统一给配置文件,kill进程,查看信息等操作时,可以有很多方法或工具来实现,可以使用脚本实现,可以使用诸如ansible之类的自动化管理工具;在这里,我们来说说pssh,这是一个python写的并行批量操作工具;诸如此类的工具还有 pdsh,mussh,cssh,dsh等。

二、使用前准备

在使用pssh之前需要在集群中建立公钥机,具体方法在 --> 公钥机

可在pssh官方网站获取http://www.theether.org/pssh/

官网提供了3种安装方式,src,源码编译,以及rpm包,这里为了方便使用rpm安装,同时,使用pssh需要python环境。

[[email protected] ~]# wget http://www.theether.org/pssh/pssh-1.2.2-1.i386.rpm
[[email protected] ~]# yum install pssh-1.2.2-1.i386.rpm 
已加载插件:fastestmirror, langpacks
正在检查 pssh-1.2.2-1.i386.rpm: pssh-1.2.2-1.i386
pssh-1.2.2-1.i386.rpm 将被安装
正在解决依赖关系
--> 正在检查事务
---> 软件包 pssh.i386.0.1.2.2-1 将被 安装
--> 解决依赖关系完成

依赖关系解决

=====================================================================
 Package    架构       版本           源                        大小
=====================================================================
正在安装:
 pssh       i386       1.2.2-1        /pssh-1.2.2-1.i386        30 k

事务概要
=====================================================================
安装  1 软件包

总计:30 k
安装大小:30 k
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : pssh-1.2.2-1.i386                                1/1 
  验证中      : pssh-1.2.2-1.i386                                1/1 

已安装:
  pssh.i386 0:1.2.2-1                                                

完毕!

三、使用

pssh有五个组件,分别是

    • Parallel ssh (pssh)
    • Parallel scp (pscp)
    • Parallel rsync (prsync)
    • Parallel nuke (pnuke)
    • Parallel slurp (pslurp)

    共有主要参数:

    -h iplist:必备参数,后跟主机列表

    -P:print,打印到屏幕

    -v:显示详细信息

    -o filename:后跟要输出到的文件

    -t n:超时时间

    -I:用户名

    -e filename:错误输出
        -p n :最大并行数量

    pssh:批量并行操作

    [[email protected] ~]# pssh -h iplist.txt -t 3 -P "date"
    ""号中是要执行的命令,pssh因为是并行,速度超快,好用到谁用谁知道,实测1000台主机执行kill操作,2秒完成!

    pscp:并行复制操作

    -r:递归

    [[email protected] ~]# pscp -h iplist.txt /root/test/rc.local /etc/rc.local
    这个是要将/root/test/rc.local复制给再iplist中的主机的/etc/rc.local。

    prsync:使用rsync协议从本地同步远程主机

    -a:存档

    -z:压缩

    -r:递归

    [[email protected] ~]# prsync -h iplist.txt /root/test/conf /home/prog/p.conf

    pslurp:并行复制远端主机文件至本地,pscp的反方向

    -L localdir:指明本地目录

    -r:复制目录,递归

    [[email protected] ~]# pslurp -h iplist.txt -L /home/data /etc/issue

    pnuke:并行kill进程

    [[email protected] ~]# pnuke -h iplist.txt start
时间: 2024-10-16 02:10:02

批量操作-pssh的相关文章

Linux批量操作pssh工具

一.场景介绍:        同时给上千台服务器执行一个命令,拷贝一个文件,杀一个进程等,有什么简化运维管理的工具呢?在小型使用中我都是使用for循 环,数量巨大,一方面不确定操作是否成功,一方面for循环语句性能不好估计且是不是同步并行执行. 二.准备工作         1.下载软件包:https://pypi.python.org/pypi/pssh/2.3.1         2.解压pssh-2.3.1.tar.gz,并安装pssh工具 三.使用方法 用法:PSSH [选项]命令[-]

Linux批量修改多台服务器的主机名(hostname)

一.场景介绍:        一个环境下有非常多的服务器时,每台服务器的Hostname都不一样,有成千上百台服务器,如果通过ssh的方式逐一进行修改,那么对我们来说,工作量是非常巨大,且效率非常低下,况且这个主机名对于我们平时运维也是至关重要,当我们ssh到某一台服务器,如果没有设置主机名,那么就需要通过其他途径来得知该服务器的位置信息等等,给我们运维人员带来很大的运维烦恼. 二.准备工作         1.所有服务器操作系统root账户密码需要一致,且网络互通         2.pssh

使用pssh进行并行批量操作

假如同时给上千台服务器执行一个命令,拷贝一个文件,杀一个进程等,有什么简化运维管理的工具呢?在小型使用中我都是使用for循 环,数量巨大,一方面不确定操作是否成功,一方面for循环语句性能不好估计且是不是同步并行执行.,这类工具比如 pdsh,mussh,cssh,dsh等还有这里提到的pssh:pssh是一个简单的字符界面并发向多个服务器发送指令进行执行的工具.适合一次性向集群大量服务器发送相同指令(并观察输出) 1. 安装 a. 到google code找到最新的安装包 http://cod

PSSH的安装和简单操作

PSSH是一个批量操作服务器的软件,当运维人员负责一个服务器集群的时候,面对二三十台服务器的时候,先把这些服务器的ip们都写进一个文档里,然后使用pssh 搭配这个文档,就能一口气的同时操作这二三十台机器,省事又省力,真是居家旅行节省体力的运维必需品. 安装 pssh是在python的基础上编写出来的脚本命令,所以python是操作pssh的基础,现在的linux和mac os都自带python,虽然自带的是python的版本是2.6.6但是也已经够用了. #wget ftp://ftp.fre

Linux下批量管理工具pssh使用记录

pssh是一款开源的软件,使用python实现,用于批量ssh操作大批量机器:pssh是一个可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中很出色的:比起for循环的做法,我更推荐使用pssh!使用pssh的前提是:必须在本机与其他服务器上配置好密钥认证访问(即ssh信任关系). 下面就说下使用pssh进行批量操作的记录: 1)安装pssh可以yum直接安装:[[email protected] ~]# yum install -y pssh 2)pssh用法[[email pr

自动化批量管理工具pssh - 运维小结

pssh提供OpenSSH和相关工具的并行版本.包括pssh,pscp,prsync,pnuke和pslurp.该项目包括psshlib,可以在自定义应用程序中使用.pssh是python写的可以并发在多台机器上批量执行命令的工具,它的用法可以媲美ansible的一些简单用法,执行起来速度比ansible快它支持文件并行复制,远程命令执行,杀掉远程主机上的进程等等.杀手锏是文件并行复制,,当进行再远程主机批量上传下载的时候,最好使用它.pssh用于批量ssh操作大批量机器:pssh是一个可以在多

python写的批量操作远程主机脚本(命令执行,上传、下载文件)

最近在学习python,借助fabric模块写了个批量操作服务器的脚本,在此分享给大家,如有不足之处,欢迎大家指正 准备工作: 安装python 2.6.5: yum -y install readline* tar xf Python-2.6.5.tar.bz2 cd Python-2.6.5 将目录下Modules/Setup.dist文件中"readline readline.c -lreadline -ltermcap"行前的注释去掉 编译安装: ./configure --e

运维自动化轻量级工具pssh

1pssh介绍 pssh是python写的可以并发在多台机器上批量执行命令的工具,它的用法可以媲美ansible的一些简单用法,执行起来速度比ansible快它支持文件并行复制,远程命令执行,杀掉远程主机上的进程等等.杀手锏是文件并行复制,,当进行再远程主机批量上传下载的时候,最好使用它. 2pssh的使用 在使用pssh之前,必须要保证管理主机和本地主机进行过密钥的认证,或者是在进行批量时,没有做过密钥认证,但是必须保证被管理的多台主机的密码相同.关于如何做密钥认证,这里就不多说了,可以自行百

js css样式操作代码(批量操作)

js css样式操作代码(批量操作) 作者: 字体:[增加 减小] 类型:转载 时间:2009-10-09 用js控制css样式,能让网页达到良好的的用户体验甚至是动画的效果.并且考虑到效率. 我们用js书写css样式通常会用下面的两种方式: 一般情况下我们用js设置元素对象的样式会使用这样的形式: 复制代码 代码如下: var element= document.getElementById(”id”); element.style.width=”20px”; element.style.he