首页 帮助中心 美国云服务器 DSH集中管理大量服务器的用法教程
DSH集中管理大量服务器的用法教程
时间 : 2025-02-05 15:06:53 编辑 : 华纳云 阅读量 : 63

系统管理员可能需要管理大量服务器,不管是小型云环境还是大型服务器集群,集中管理服务器都是系统管理者必备技能。DSH小工具可以让用户在多台服务器上运行命令。

DSH是“分布式 Shell ”或“ Dancer's Shell ”的缩写,是大多数主要 Linux 发行版中免费提供的工具,如果发行版的软件包存储库中不包含它,还可以轻松地从源代码构建。

在Linux中安装DSH,如果是Debian/Ubuntu环境:

sudo apt install dsh

在RHEL发行版上需要从源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

sudo make install

继续编译DSH并安装:

wget https://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

sudo make install

DSH的主配置文件“ /etc/dsh/dsh.conf ”(对于Debian)和“ /usr/local/etc/dsh.conf ”(对于Red Hat)非常简单,但由于rsh是一种未加密的协议,我们将使用SSH作为远程 shell。

使用文本编辑器,找到以下行:

remoteshell =rsh

更改为:

remoteshell =ssh

还可以在此处传递其他选项,dsh 手册页上有很多选项。现在,我们将接受默认值并查看下一个文件/etc/dsh/machines.list(适用于Debian)。

基于Red Hat 的 系统,需要在“ /usr/local/etc/ ”目录中创建一个名为“ machines.list ”的文件。每行中输入一个服务器的凭证,含主机名、IP地址及FQDN。

输入想要访问的机器的凭据后,让我们对所有机器运行一个简单的命令,例如uptime 。

dsh -aM -c uptime

运行dsh并将“ ”选项传递a给它,该选项表示将“ uptime ”命令发送到“ /etc/dsh/machines.list ”中列出的“ ALL ”机器。指定“ -M”选项,该选项表示返回“机器名称”(在“ /etc/dsh/machines.list ”中指定)以及uptime命令的输出。(在多台机器上运行命令时进行排序非常有用)。

 -c”选项代表“要执行的命令”,在本例中为“ uptime ”。

DSH还可以在“ /etc/dsh/groups/ ”文件中配置计算机组,其中是包含计算机列表的文件,其格式与“ /etc/dsh/machines.list ”文件相同。在组上运行dsh时,请在“ ”选项后指定组名-g。

对于基于 Red Hat 的 系统,您需要在“ /usr/local/etc/ ”目录中创建一个名为“ groups ”的文件夹。在该“ groups ”目录中,您可以创建一个名为“ cluster ”的文件。

例如,在“ cluster ”组文件“ /etc/dsh/groups/cluster ”或“ /usr/local/etc/groups/clusterw ”中列出的所有机器上运行“ ”命令。

dsh -M -g cluster -c w

此外DSH还提供更多灵活性,如传输文件、安装软件、添加路由等。

华纳云 推荐文章
Linux删除文件的命令行工具分享 Linux中提取RPM或DEB包安装文件的方法 Linux如何使用fdisk命令进行磁盘操作 linux云服务器安全防护技术标准有哪些 Linux主机安装pytorch为什么失败? 基于RHEL的发行版中配置Firewalld的方法 Glances监控远程Linux系统的简单方法 Linux中使用Grep命令的使用 在Linux中如何安全且永久地删除文件和目录 把文件上传到数据库中的常用方法
客服咨询
7*24小时技术支持
技术支持
渠道支持