pdsh使用

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

当咱们管理数以十计或者更多的集群系统时,每每须要在每台机器上执行一样的命令,或者拷贝一样的文件,这时,咱们就能够考虑使用三个小工具,分别是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,咱们都应该相应的设置无密码登陆目标系统,这方面的内容,有不少介绍,本文再也不说起。
node

一、pdsh的安装过程shell

pdsh的安装很是简单,有rpm包和源码包两种方式,你们可根据本身的喜爱选择适合本身的安装方式。能够在http://code.google.com/p/pdsh/ 下载最新的源码包进行编译安装,目前最新版本为pdsh-2.29,这里下载的源码包为pdsh-2.29.tar.bz2。编译安装过程以下:ssh

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

[root@server ~]# cd pdsh-2.29google

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

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

[root@server pdsh-2.29]# makeunix

[root@server pdsh-2.29]# make installcode

在执行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


1、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/

相关文章
相关标签/搜索