使用DSH(分布式Shell)在多台机器上运行Linux命令

系统管理员都非常清楚的,能够尽可能各地监测并在很短的时间管理大量计算机,最好尽可能少运行的重要性。 无论是小型云环境还是庞大的服务器集群,集中管理计算机的能力都至关重要。

DSH跨多个服务器运行命令

部分地做到这一点,我将告诉你如何使用名为DSH一个漂亮的小工具,允许用户运行在多台计算机的命令。

另请参阅PSSH -在多个远程Linux服务器执行命令

什么是DSH?

DSH是短期的“ 分布式Shell ”或“ 炫舞之壳 ”,它是在Linux上的大部分主要分布免费提供的,但可以很容易地从源头建立,如果你的发行版没有在其包库提供它。 您可以在上获取源。

  1. http://www.netfort.gr.jp/~dancer/software/dsh.html.en

在Linux中安装DSH(分布式Shell)

我们将承担本教程的范围是Debian / Ubuntu的环境。 如果您使用另一个分发版,请用适当的命令替换程序包管理器。

在Debian / Ubuntu

首先,让我们通过apt安装软件包

$ sudo apt-get install dsh
在RHEL / CentOS / Fedora上

此方法适用于谁不使用Debian,并希望从源tar球编译的。 首先,你需要编译“libdshconfig”并安装。

# wget http://www.netfort.gr.jp/~dancer/software/downloads/libdshconfig-0.20.10.cvs.1.tar.gz
# tar xfz libdshconfig*.tar.gz 
# cd libdshconfig-*
# ./configure ; make
# make install

然后编译DSH和安装。

# wget http://www.netfort.gr.jp/~dancer/software/downloads/dsh-0.22.0.tar.gz
# tar xfz dsh-0.22.0.tar.gz
# cd dsh-*
# ./configure ; make 
# make install

主配置文件“/etc/dsh/dsh.conf”(用于Debian)“/usr/local/etc/dsh.conf”( 红帽)是非常简单的,但是由于RSH是一个未加密的协议,我们要使用SSH作为远程shell。 使用您选择的文本编辑器,找到这行:

remoteshell =rsh

并将其更改为:

remoteshell =ssh

还有你可以传递在这里,如果你选择这样做,其他的选项,并有大量的人找到了DSH手册页 现在,我们要接受默认设置并看看下一个文件,/etc/dsh/machines.list(用于Debian)。

对于基于Red Hat系统需要在“ 在/ usr /本地/ etc /”目录下创建一个名为“machines.list”的文件。

这里的语法很容易。 所有的人都有做的是在机器的凭据( 主机名 ,IP地址FQDN)每行一个进入。

注意 :当同时访问一机多用,它将对...是应该的,你要建立基于密钥的密码ssh在所有的机器。 这不仅提供方便访问,但安全智能,它加固您的机器以及。

我的“/etc/dsh/machines.list”“/usr/local/etc/machines.list”的文件说:

172.16.25.125
172.16.25.126

一旦你要访问的计算机的证书已经进入,让我们运行一个简单的命令,比如`` 的正常运行时间对所有的机器。

$ dsh –aM –c uptime
示例输出
172.16.25.125: 05:11:58 up 40 days, 51 min, 0 users, load average: 0.00, 0.01, 0.05
172.16.25.126: 05:11:47 up 13 days, 38 min, 0 users, load average: 0.00, 0.01, 0.05

那么这个命令做了什么?

很简单。 首先,我们跑了DSH并通过了“-a”选项给它,它说发送“ 正常运行 ”命令“ALL”,“/etc/dsh/machines.list”中列出的机器。

接下来,我们指定了“-M”选项,它说,与正常运行时间命令的输出一起返回“ 计算机名 ”(在“/etc/dsh/machines.list”规定)。 (在许多机器上运行命令时对排序非常有用。)

“-c”选项表示在这种情况下,“ 要执行的命令 ”,“ 正常运行时间 ”。

DSH也可以用在“ 的/ etc / DSH /组 /”的文件,其中是用机器中的相同的格式“/etc/dsh/machines.list”文件列表的文件计算机组进行配置。 当一组运行DSH,指定后组名 “ - G”选项。

对于基于Red Hat系统需要在“ 在/ usr /本地/ etc /”目录下创建一个名为“ ”文件夹中。 在“ ”目录下创建一个名为“ 集群 ”的文件。

例如,运行中的“ 集群 ”group文件“ / etc / DSH /组/集群 ”或“ / usr / local / etc中/组/集群 ”列出的所有计算机的“w”命令。

$ dsh –M –g cluster –c w

DSH提供了更多的灵活性,而这教程只触及了一些皮毛。 除了执行命令,DSH可以用来传输文件,安装软件,添加路由,等等。

要在系统管理员具有大网络的专责,这是非常宝贵的。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏