十几台服务器要改配置,别再一台台 SSH 了

上周接到一个需求:所有服务器的时区从 UTC 改成 Asia/Shanghai。一共 14 台。

如果是以前,我大概会开 14 个终端窗口(或者写个循环 ssh),挨个执行 timedatectl set-timezone Asia/Shanghai。但这次我换了个做法,用了一个开源运维工具,直接在网页上选中所有主机,贴上命令,一次执行完。

聊聊我从"手动挨个 SSH"到"网页上批量执行"的过程。

手动方式的问题

先说清楚,对于"在多台服务器上执行同一条命令"这件事,技术上有很多方案:

方案一:手动逐台 SSH

bash 复制代码
ssh root@10.0.1.1 "timedatectl set-timezone Asia/Shanghai"
ssh root@10.0.1.2 "timedatectl set-timezone Asia/Shanghai"
# ... 14 台

14 台还能忍,50 台就崩了。而且手动操作容易漏、容易错。

方案二:for 循环 + SSH

bash 复制代码
for ip in 10.0.1.{1..14}; do
  ssh root@$ip "timedatectl set-timezone Asia/Shanghai"
done

好一点,但前提是你得维护一份 IP 列表。而且串行执行的话 14 台要等很久,改成并行又得处理输出混乱的问题。

方案三:Ansible

专业方案,确实好用。但对于我这种只有十几台机器的小团队来说,光是装 Ansible、写 inventory、学 playbook 语法,就够折腾半天的。杀鸡用牛刀。

我后来用的方式

后来同事推荐了一个开源运维工具。GitHub 上有 1 万多 star,AGPL-3.0 协议,没有商业版,直接用就行。

它有个"批量执行"功能,体验大概是这样的:

  1. 先把服务器加到主机列表里(IP + SSH 密钥或密码,做一次就行)
  2. 进"批量执行"页面,勾选要操作的主机
  3. 贴上要执行的命令
  4. 点执行,结果实时回显

不需要在目标服务器上装任何 agent,走的还是 SSH 协议。只不过连接管理、并行执行、结果收集这些事情平台帮你干了。

我那 14 台服务器改时区,从勾选到执行完毕大概一分钟。每台的输出单独展示,哪台成功哪台失败一目了然。

除了批量执行还有什么

既然提到这个工具,顺便说一下它其他几个我在用的功能:

在线终端:浏览器里直接开 SSH 终端,不用开本地终端再 ssh 过去。临时上去看个日志、查个进程挺方便。

文件管理:上传下载文件,比 scp 命令直观。虽然大文件还是 scp 快,但传个配置文件、下个日志绰绰有余。

任务计划:相当于可视化的 crontab。定时任务加在平台上统一管理,不用挨个机器去改 crontab 了。

应用发布:支持简单的部署流程编排。我们的发布流程比较简单(拉代码、重启服务),用这个够了。复杂流程可能还是得上 CI/CD。

什么时候适合用这类工具

说几个判断标准:

  • 服务器数量在 10-100 台这个量级
  • 团队没有专职 DevOps,运维工作是开发顺带做的
  • 不想花时间学 Ansible/SaltStack 那套体系
  • 需要一个有界面的东西,不想全靠命令行和脚本

如果你管着几百台以上,或者有复杂的编排需求,那 Ansible/Terraform 这类工具更合适。这个工具解决的是"中小团队的日常运维效率"问题,不是替代专业 DevOps 工具链。

有兴趣的可以去 GitHub 搜 openspug/spug 看看,README 写得挺清楚的。

相关推荐
风曦Kisaki1 小时前
Kubernetes(K8s)笔记Day03: Pod命名空间,标签,Pod 的调度,污点与容忍度,Pod 常见状态和重启策略,Pod 生命周期
linux·运维·笔记·docker·云原生·容器·kubernetes
图件制作GIS,储量计算2 小时前
未来已到,抓住机遇
运维·服务器
CIO_Alliance2 小时前
AI+iPaaS解决方案:跨系统业务流程自动化助力企业AI化转型
运维·人工智能·自动化
dok122 小时前
Johannes 《Linux内核模块与设备驱动开发:编写Linux驱动程序》(4) devicefile 设备号相关
linux·运维·服务器
毛驴赶鹿3 小时前
低配置服务器怎么搭建监控?Komari Docker部署与公网访问完整教程
运维·服务器·docker
Fu2067213 小时前
结课项目考试
linux·运维·服务器
MXsoft6183 小时前
## 信创运维2.0的“最后一公里”——国产设备“能用但不好用”,问题出在哪?
运维
公众号:fuwuqiBMC4 小时前
(转自“服务器BMC”)服务器BMC芯片——AST1840
运维·服务器·fpga开发
爱网络爱Linux5 小时前
RHCSA+RHCE 10.0全新升级!红帽Ansible自动化运维
运维·自动化·ansible·rhce认证·rhel1o·linux10·rhce10