Linux批量补丁

1小时前更新 2 00
Linux批量补丁Linux批量补丁
Linux批量补丁

技能简介

linux-patcher 用于通过 SSH 批量为 Linux 服务器打补丁,同时支持 Docker 容器自动检测与更新。该技能集成 PatchMon 服务,可自动识别需要更新的主机列表,减少人工排查成本。

业务背景

运维团队常面临Linux服务器补丁分散、Docker容器版本混乱的难题。本技能通过SSH批量连接服务器,自动从PatchMon获取待更新主机清单,智能识别Docker环境并同步更新系统包与容器镜像,将人工逐台排查转变为自动化流水线,显著降低漏打补丁的安全风险,缩短维护窗口时间。

落地案例:某企业每月需对200+台Linux服务器进行安全补丁更新。运维人员配置PatchMon凭证后,选择全自动模式发起任务:系统自动拉取待更新主机列表,并行SSH登录各节点,检测Docker Compose路径后依次执行系统包升级与容器重建,全程无需人工介入。干跑模式可提前预览变更范围,避免误操作;如遇业务敏感时段,可启用–skip-docker仅更新系统包,容器更新另择窗口执行。

能做什么

  • 从 PatchMon 自动拉取待更新主机清单
  • 智能识别目标主机的 Docker 与 Compose 路径
  • 跳过 Docker 仅更新系统包(--skip-docker
  • 单主机、多主机或全自动三种模式灵活切换
  • 干跑模式预览变更,避免误操作
  • 多主机并行执行,缩短维护窗口

使用说明

1. 安装依赖(控制端)

# Ubuntu/Debian
sudo apt install curl jq

# RHEL/CentOS/Rocky/Alma
sudo dnf install curl jq

# macOS
brew install curl jq

2. 配置 PatchMon 凭证(推荐自动模式)

cp scripts/patchmon-credentials.example.conf ~/.patchmon-credentials.conf
nano ~/.patchmon-credentials.conf

填入 URL、用户名、密码后保存。

3. 执行补丁

# 全自动:查询 PatchMon 并更新所有主机
scripts/patch-auto.sh

# 仅系统包,跳过 Docker
scripts/patch-auto.sh --skip-docker

# 干跑预览
scripts/patch-auto.sh --dry-run

# 手动单主机
scripts/patch-host-only.sh user@hostname
scripts/patch-host-full.sh user@hostname /path/to/docker/compose

4. 目标主机前置条件

  • SSH 服务运行且端口可达
  • 已配置 SSH 密钥登录(免密)
  • 已配置免密 sudo(visudo 或 /etc/sudoers.d/)

输入与输出

见下方输入与输出表格。

项目内容
输入PatchMon API 凭证;目标主机 SSH 地址与用户;Docker Compose 路径(可选);更新模式(host-only/full);–skip-docker 标志;–dry-run 标志
输出系统包更新日志;Docker 镜像拉取与容器重建记录;PatchMon 状态同步结果;失败主机清单
适用人群运维工程师、DevOps 团队、中小规模服务器集群管理员、需要定期安全补丁的 Linux 环境
不包含Windows 服务器支持、图形界面操作、自动回滚机制、补丁冲突自动解决、内核升级后的自动重启

 

风险提示

  • 部分发行版(Debian、Amazon Linux、RHEL、AlmaLinux、Rocky、CentOS、SUSE)基于文档实现,未经过完整测试,生产环境使用前请在非生产环境验证
  • 需要免密 sudo 权限,配置不当可能导致权限过大
  • PatchMon 凭证存储于用户主目录,需确保文件权限正确(600)
  • Docker 容器更新会触发服务重启,请确认业务可接受中断
  • 干跑模式仅展示命令,不保证实际执行结果完全一致

来源信息

原始链接:https://github.com/openclaw/skills/tree/main/skills/jgm2025/linux-patcher/SKILL.md
来源类型:GitHub 仓库

数据统计

相关导航

暂无评论

none
暂无评论...