原文地址:http://bbs.chinaunix.net/thread-2002080-1-1.html

当我们管理数以十计或者更多的集群系统时,往往需要在每台机器上执行同样的命令,或者拷贝同样的文件,这时,我们就可以考虑使用三个小工具,分别是pdsh、ClusterSSH和mussh。
  在Fedora系统上,我们可以直接通过yum安装这三个软件。
yum install clusterssh pdsh pdsh-rcmd-ssh pdsh-rcmd-rsh mussh
如果是其他Linux系统,也可以到http://clusterssh.sourceforge.net、http://sourceforge.net/projects/pdsh和http://www.sourceforge.net/projects/mussh下载相应的软件。
  无论是clusterssh还是pdsh或mussh,我们都应该相应的设置无密码登录目标系统,这方面的内容,有很多介绍,本文不再提及。

1、pdsh的安装过程

pdsh的安装非常简单,有rpm包和源码包两种方式,大家可根据自己的喜好选择适合自己的安装方式。可以在http://code.google.com/p/pdsh/ 下载最新的源码包进行编译安装,目前最新版本为pdsh-2.29,这里下载的源码包为pdsh-2.29.tar.bz2。编译安装过程如下:

[root@server ~]# tar jxvf pdsh-2.29.tar.bz2

[root@server ~]# cd pdsh-2.29

[root@server pdsh-2.29]#./configure --with-ssh --with-rsh --with-mrsh --with-mqshell  \

>  --with-dshgroups --with-machines=/etc/pdsh/machines

[root@server pdsh-2.29]# make

[root@server pdsh-2.29]# make install

在执行configure阶段,“--with-ssh”参数表示启用ssh模块,其他参数都有类似的含义,而“--with-dshgroups”表示启用主机组支持,启用此参数后,就可以将一组主机列表写入一个文件并放到~/.dsh/group或/etc/dsh/group目录下,然后通过pdsh的“-g”参数进行调用。最后的参数“--with-machines”是“--with-dshgroups”参数的扩展,通过将所有要管理的主机列表都写入指定的/etc/pdsh/machines文件中,接着通过pdsh的“-a”参数调用,最终完成所有主机的便捷管理。

完成安装后,可以通过“pdsh �V”查看pdsh的版本号以及可使用的模块信息,操作如下:

[opsuser@server ~]$ pdsh -V

pdsh-2.29

rcmd modules: ssh,rsh,exec (default: rsh)

misc modules: machines,dshgroup

一、pdsh  首先介绍一下pdsh,首先必须在管理节点和每台目标机器上都安装pdsh软件包。pdsh可以在指定的一组机器上执行同一个命令。例如需要管理下列机器,机器名分别为node211,node232,node233,node234,node240。
命令格式如下:
pdsh -w [SSH_OR_RSH]:USERNAME@node[211,232-234,240] [COMMAND] 
其中大写的部分应该被实际内容所取代。例如希望以maluyao用户的身份,在每台机器上执行hostname命令,使用ssh方法进行连接,则结果如下:
[tt@node111 ~]$ pdsh -w ssh:maluyao@node[211,232-234,240] hostname
node240: node240.hn.org
node233: node233.hn.org
node234: node234.hn.org
node232: node232.hn.org
node211: node211.hn.org
这样可以非常清楚的看到每台机器上执行的结果。
另外一些时候,我们可以希望在每台机器上执行一组也许不确定的命令,这时我们可以省略[COMMAND]部分,用法如下:
[tt@node111 ~]$ pdsh -w ssh:maluyao@node[211,232-234,240]
pdsh> hostname
node240: node240.hn.org
node234: node234.hn.org
node233: node233.hn.org
node232: node232.hn.org
node211: node211.hn.org
pdsh> date
node234: Mon Oct 27 14:59:37 CST 2008
node240: Mon Oct 27 14:59:37 CST 2008
node232: Mon Oct 27 14:59:37 CST 2008
node233: Mon Oct 27 14:59:37 CST 2008
node211: Mon Oct 27 14:59:38 CST 2008
pdsh> exit
pdsh软件包还自带了pdcp命令,可以将文件拷贝到一组机器上,用法如下:
pdsh -w [SSH_OR_RSH]:[USERNAME]@node[211,232-234,240] SOURCE_FILE DESTINATION 
想将文件x.org拷贝到上述机器的/home/maluyao/当中,可执行下列命令:
pdcp -w ssh:maluyao@node[211,232-234,240] x.org /home/maluyao/
如果要拷贝的是目录,则需使用-r参数,例如将目录abc拷贝到/home/maluyao,执行命令如下:
pdcp -r -w ssh:maluyao@node[211,232-234,240] abc /home/maluyao/

pdsh使用的更多相关文章

  1. Linux运维式具之pdsh

    做系统运维的时候,我们经常需要同时在多台机器上执行相同的命令,这个时候可以使用类似pssh,pdsh的并行执行shell的工具. 当然,之前在没有使用这些工具之前,如果有ssh无密码互访,我们可以自己 ...

  2. 运维工具pssh和pdsh安装和使用

    1. pssh安装与使用 1.1 pssh安装 [root@server]# wget http://peak.telecommunity.com/dist/ez_setup.py [root@ser ...

  3. 并行管理工具——pdsh

    1. pdsh安装2. pdsh常规使用2.1 pdsh2.2 pdcp 并行管理的方式有很多种: 命令行 一般是for循环 脚本 一般是expect+ssh等自编辑脚本 工具 pssh,pdsh,m ...

  4. 自动化运维工具-pdsh工具安装配置及简单使用讲解

    1.先决条件: 安装pssh工具的主机针对远程主机需要配置免秘钥认证: ssh-keygen -t rsa ssh-copy-id [remotehost] 2.下载pssh工具安装介质: https ...

  5. pssh,pdsh,mussh,cssh,dsh运维工具介绍

    pssh 1 安装:#wget http://peak.telecommunity.com/dist/ez_setup.pypython ez_setup.py#wget http://paralle ...

  6. 设置pdsh的默认登录模式

    1.check your pdsh default rcmd rsh pdsh -q -w localhostSee what your pdsh default rcmd is. 2.Modify ...

  7. pdsh工具的使用

    pdsh的全称是parallel distributed shell,与pssh类似,pdsh可并行执行对远程目标主机的操作,在有批量执行命令或分发任务的运维需求时,使用这个命令可达到事半功倍的效果. ...

  8. 自动化运维工具pssh、pdsh、pscp

    pssh命令是一个python编写可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中很出色的,类似pdsh,个人认为相对pdsh更为简便,使用必须在各个服务器上配置好密钥认证访问. 以下 ...

  9. Linux海王 之 pdsh (并行管理工具)

    文章目录 安装 使用 示例 -w 指定主机 -l 指定用户 -g指定用户组 主机列表 交互式界面 pdsh是一个多线程远程shell客户机,它在多个远程主机上并行执行命令 pdsh可以使用几种不同的远 ...

随机推荐

  1. Codeforces Round #389 (Div. 2, Rated, Based on Technocup 2017 - Elimination Round 3) D. Santa Claus and a Palindrome STL

    D. Santa Claus and a Palindrome time limit per test 2 seconds memory limit per test 256 megabytes in ...

  2. java中观察者模式Observable和Observer

    25.java中观察者模式Observable和Observer 如果想要实现观察者模式,则必须依靠java.util包中提供的Observable类和Observer接口 观察者设计模式 现在很多的 ...

  3. Maven 打成 Webjar的方法

    http://blog.csdn.net/sxdtzhaoxinguo/article/details/45666789 *************************************** ...

  4. git clone --early EOF

    出现这个问题可能需要重新检查以下方面: 1. Android studio Git 的安装地址:  ..../Git/cmd/git.exe 记得在环境变量 --Path 中进行配置: ,..../G ...

  5. ubuntu apt-get 时 Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

    sudo cp /etc/apt/sources.list ~/ sudo wget "http://pastebin.com/raw.php?i=uzhrtg5M" -O /et ...

  6. nodejs学习笔记之events

    events 模块只提供了一个对象: events.EventEmitter. EventEmitter 的核心就是事件触发与事件监听器功能的封装. 可以通过require("events& ...

  7. SPSS数据分析—Probit回归模型

    Probit含义为概率单位,和Logistic回归一样,Probit回归也用于因变量为分类变量的情况,通常情况下,两种回归方法的结果非常接近,但是由于Probit回归的结果解释起来比较抽象不易理解,因 ...

  8. VHDL学习之模块调用

    http://wenku.baidu.com/link?url=SsRPUVQAOKDR8yWfDhQlceCwfZQkI-KQMLFKTDGAh3KAPr2NwEgvj0d_EZjdnsB99Upp ...

  9. 【原作】关于Dynpro中的红绿灯显示

    问题源自李宁的需求,就不说了. 关于ABAP中的红绿灯网上也有很多资料,不过貌似都是ABAP的程序,没怎么注意.后来根据需求要在Dynpro上也做出那样的效果,所以,研究了一下. 这种红绿灯在ABAP ...

  10. 缺少wlanapi.dll文件问题修复

    我在下载百度云盘的时候碰到了一个问题,缺少wlanapi.dll文件.下面贴出解决办法 第一步 http://d.apktop.cn/p/soft_134.html   下载wlanapi.dll 第 ...