在多台服务器上运行相同命令(二)、clush

在多台服务器上运行相同命令(二)、clushClush ClusterShell 是一个用于管理和执行集群操作的工具 它允许你在多台远程主机上同时执行命令 以便批量管理服务器

大家好,欢迎来到IT知识分享网。

介绍

Clush(Cluster Shell)是一个用于管理和执行集群操作的工具,它允许你在多台远程主机上同时执行命令,以便批量管理服务器。Clush 提供了一种简单而强大的方式来管理大规模的计算集群或服务器群。以下是 Clush 的一些关键特性和用法:

  • 批量执行命令:Clush 可以同时在多台主机上执行相同的命令,无需手动登录到每个主机。
  • 并行操作:Clush 具有并行执行命令的功能,可以提高效率并减少等待时间。
  • 主机分组:你可以将主机分组,以便在特定组中执行命令。这对于对不同用途或角色的主机执行不同命令很有用。
  • 输出聚合:Clush 可以收集和汇总来自所有主机的输出,使你可以更轻松地查看和分析结果。
  • 配置文件:Clush 使用配置文件来定义主机列表和分组,以及其他参数,使配置变得简单。
  • 支持多种连接方式:Clush 支持 SSH 和其他连接协议,可以根据需要进行配置。
  • 可扩展性:Clush 可以通过插件进行扩展,以满足更多需求。

地址:https://github.com/cea-hpc/clustershell/

安装

在这里插入图片描述

配置

安装完成后,你可以使用 clush 命令来执行命令在多个远程主机上运行。为了使 Clush 在远程主机上执行命令而无需手动输入密码或进行其他身份验证,最好建立 SSH 互信。

互信认证

ssh-keygen -t rsa 

这将生成一个公钥文件(默认为 ~/.ssh/id_rsa.pub)和一个私钥文件(默认为 ~/.ssh/id_rsa)

2、将公钥复制到远程主机: 使用 ssh-copy-id 命令将公钥复制到远程主机。例如:

ssh-copy-id user@remote_host 

这将把你的公钥添加到远程主机的 ~/.ssh/authorized_keys 文件中,允许你在不输入密码的情况下通过 SSH 连接到该主机。

3、测试 SSH 连接: 确保你可以通过 SSH 连接到远程主机,而不需要输入密码:

ssh user@remote_host 

如果可以无需密码登录,互信已成功建立。

参数含义

选项
-w 后面跟主机节点,多个主机中间用英文逗号隔开
-x 表示去掉某个节点进行操作。后面跟主机节点,多个主机中间用英文逗号隔开
-g 后面指定设置的组
-a 表示所有的组
-X 表示去掉某个组进行操作,多个组之间用英文逗号隔开
-b 相同输出结果合并

基本使用

clush -w host1,host2 "ls -l /tmp" 

节点组

节点数少且使用次数少的时候,可以直接在命令里写,节点多的时候可以将其配置为节点组,使用不同组的方式来管理主机。

vim /etc/clushershell/groups 

写入格式: 组名:节点1 节点2 节点3

拷贝文件

从本地拷贝到远程服务器组:

clush -bg web --copy /root/1.sh --dest /tmp/ 

在这里插入图片描述

从远程服务器拷贝到本地:

clush -bg web-rcopy /tmp/1.sh --dest /tmp/ 

在这里插入图片描述
注:在多台不同服务器上向本地拷贝回同一个名称的文件,会自动在文件名后面加上服务器ip以区分这些同名文件。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/119238.html

(0)
上一篇 2025-11-06 22:20
下一篇 2025-11-06 22:26

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信