运维实用神器-clustershell(实现多台服务器同时控制)

本文介绍了一款基于SSH的运维软件,通过编辑hosts文件、推送公钥和安装cluster软件,实现从单一终端控制多台服务器。软件支持主机分组、文件群发等功能,适用于批量操作场景。

今天介绍一个超级实用的一控多的运维软件
能实现一个终端控制多台服务器,因为是基于ssh的方式,所以要推公钥到被控制端。

废话不多说,实验看效果

1.编辑本地hosts文件及推送公钥

[root@localhost clustershell]# cat /etc/hosts
192.168.182.120 web1
192.168.182.130 web2
##  这里我就用了两台机器来演示

推公钥

ssh-keygen     ##生成公钥
ssh-copy-id web1   ##推送公钥到对应主机也能用ip地址
ssh-copy-id web2

2.安装cluster软件

yum install -y clustershell

手动创建groups主机清单

 cd /etc/clustershell/
 touch groups     ##用来调用的地址池,类似于ansible的host文件

3.编辑groups文件

[root@localhost clustershell]# cat groups
all: web[1,2]     ##必须配置的
db: web1
node: web2

配置好了
不用重启软件
直接操作就行了

实操演示:

先介绍一下简单用法:
clush命令:
clush -a 全部 等于 clush -g all
clush -g 指定组
clush -w 操作主机名字,多个主机之间用逗号隔开
clush -g 组名 -c --dest 文件群发 (-c等于–copy)

演示:1 clush -a hostname -I
在这里插入图片描述

2 clush -g db hostname -I ## -g 指定组名 ##db 组名
在这里插入图片描述
3 clush -w web2 hostname -I ## -w 指定主机名 ##web2 主机名在这里插入图片描述
4 clush -w web1 -c groups --dest /root/ ##复制文件 注:文件夹也不用-r参数
在这里插入图片描述
注意一点,当ssh端口不是22端口时
由于clush是基于ssh和scp命令进行封装的一个工具,默认的ssh端口如果不是22,那么在执行clush命令的时候需要指明端口:
1)进行文件传输时, 需要加 -o -P57891 即大写P
2)进行直接访问(批量执行操作命令)时, 需要加 -o -p57891 即小写P

# clush -g virtual -o -P22222 -c /data/ntpcheck.sh --dest /data/
# clush -g virtual -o -p22222  /etc/init.d/nginx restart
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大鹅i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值