今天介绍一个超级实用的一控多的运维软件
能实现一个终端控制多台服务器,因为是基于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
本文介绍了一款基于SSH的运维软件,通过编辑hosts文件、推送公钥和安装cluster软件,实现从单一终端控制多台服务器。软件支持主机分组、文件群发等功能,适用于批量操作场景。
&spm=1001.2101.3001.5002&articleId=107569392&d=1&t=3&u=ce32bad210fc4391b95dcd33a2ae9552)
571

被折叠的 条评论
为什么被折叠?



