我让 AI 重写运维脚本:5 个场景平均提效 85%
01 一个痛苦的周一
那天周一上午,领导扔过来三个需求:
•"把上周 Nginx 日志统计一下,Top IP 和响应码"•"磁盘巡检阈值调到 80%,出个报告"•"今天中午前把 20 台服务器做一次健康检查"
我刚写完一个脚本,又来一个。一个脚本 30-60 分钟,三个脚本我得干到下午。
这不是偶发——我每周平均写 5-8 个运维脚本,真正痛苦的不是不会写,而是写没什么技术含量的重复代码,还总在边界条件和调试上翻车:
痛点 | 什么感觉 |
|---|---|
重复劳动 | 同类脚本换几个参数又写一遍,烦 |
边界遗漏 | 跑的时候才报错,忘了处理文件不存在、权限不足 |
调试耗时 | 写完调通要 2-3 轮,60% 时间花在调试上 |
文档缺失 | 脚本能跑但没注释,过两周自己都看不懂 |
后来我试了让 AI 生成脚本——不是"AI 写了我用",而是我提需求 → AI 出代码 → 我来审核。结果让我自己都吃了一惊。

02 五个真实场景的提效实录
场景 1:Nginx 日志统计 —— 35 分钟 → 3 分钟
需求:统计过去 1 小时 Nginx 访问日志中 Top 10 IP 和响应码分布。
以前:20 分钟写 15 分钟调试 awk/sort/uniq 组合,每次都要查 man 手册。
现在:1 分钟写 Prompt,2 分钟审核调整,搞定。
我的 Prompt:
代码语言:javascript复制写一个 Bash 脚本,统计 Nginx access.log 中过去 1 小时的:1. Top 10 访问 IP2. HTTP 状态码分布3. 平均响应时间要求:支持参数化日志路径,包含异常处理,输出格式化表格
AI 生成的脚本(节选):
代码语言:javascript复制#!/bin/bashLOG_PATH="${1:-/var/log/nginx/access.log}"TIME_WINDOW=3600if [ ! -f "$LOG_PATH" ]; thenecho "错误:日志文件 $LOG_PATH 不存在"exit 1fiecho "========== Nginx 日志分析报告 =========="echo "--- Top 10 访问 IP ---"awk -v cutoff="$CUTOFF_TIME" '...' | sort -k2 -rn | head -10echo "--- HTTP 状态码分布 ---"awk '{...}' | sort -k2 -rn | head -10
指标 | 手动编写 | AI 生成 | 提升 |
|---|---|---|---|
总耗时 | 35 分钟 | 3 分钟 | ⬇️ 91% |
场景 2:磁盘空间巡检 —— 30 分钟 → 5 分钟
需求:巡检所有挂载点,使用率超过 80% 告警,输出巡检报告。
AI 生成只用了 2 分钟 Prompt 3 分钟调整告警格式:
代码语言:javascript复制THRESHOLD="${1:-80}"df -h | awk 'NR>1 {print $6, $5}' | while read -r mount use; douse_num=$(echo "$use" | tr -d '%')if [ "$use_num" -ge "$THRESHOLD" ]; thenecho "⚠️[告警] $mount 使用率 ${use}"elseecho "✅[正常] $mount 使用率 ${use}"fidone
指标 | 手动编写 | AI 生成 | 提升 |
|---|---|---|---|
总耗时 | 30 分钟 | 5 分钟 | ⬇️ 83% |
场景 3:批量健康检查 —— 45 分钟 → 7 分钟
需求:检查 20 台服务器的 HTTP 状态,超时 5 秒,输出汇总表。
传统写法最怕涉及 xargs/timeout/curl 组合的并发逻辑——一个超时处理不好,整个脚本就卡死。
AI 一次性生成,我只需要确认并发参数:
代码语言:javascript复制check_health() {local url=$1local http_code=$(curl -s -o /dev/null -w "%{http_code}" --max-time "$TIMEOUT" "$url" 2>/dev/null)if [ "$http_code" = "200" ]; thenprintf "%-35s 正常 %dms" "$url" "$duration"elif [ "$http_code" = "000" ]; thenprintf "%-35s 超时" "$url"elseprintf "%-35s 异常 HTTP %s" "$url" "$http_code"fi}export -f check_healthcat "$SERVER_LIST" | xargs -P 10 -I {} bash -c 'check_health "{}"'
指标 | 手动编写 | AI 生成 | 提升 |
|---|---|---|---|
总耗时 | 45 分钟 | 7 分钟 | ⬇️ 84% |
场景 4:MySQL 慢查询分析 —— 60 分钟 → 11 分钟
需求:解析 MySQL 慢查询日志,提取 Top SQL 和执行时间分布。
这是 5 个场景中最费手的——mysqldumpslow 功能有限,自己写解析逻辑光调试就要 4-5 轮。AI 一次性搞定了参数化 异常处理 输出格式。
指标 | 手动编写 | AI 生成 | 提升 |
|---|---|---|---|
编写时间 | 60 分钟 | 3 分钟 | ⬇️ 95% |
调试轮次 | 4-5 轮 | 1-2 轮 | ⬇️ 70% |
功能完整度 | 基本够用 | 含异常处理 参数化 | ⬆️ |
场景 5:Docker 容器清理 —— 25 分钟 → 3 分钟
代码语言:javascript复制# 用途:Docker 资源清理# 参数:--dry-run 仅预览 | --force 跳过确认# 1. 已停止的容器STOPPED=$(docker ps -aq -f status=exited -f status=dead)# 2. 悬空镜像DANGLING=$(docker images -f "dangling=true" -q)# 3. 清理7天前的数据卷docker volume prune -f --filter "until=168h"# 4. 预览模式[ "$DRY_RUN" = true ] && echo "(预览模式)"
指标 | 手动编写 | AI 生成 | 提升 |
|---|---|---|---|
总耗时 | 25 分钟 | 3 分钟 | ⬇️ 88% |
03 汇总:39 分钟 → 5.8 分钟
场景 | 手动耗时 | AI 耗时 | 提效 | 脚本行数 |
|---|---|---|---|---|
Nginx 日志统计 | 35 分钟 | 3 分钟 | ⬇️ 91% | 52 行 |
磁盘空间巡检 | 30 分钟 | 5 分钟 | ⬇️ 83% | 35 行 |
批量健康检查 | 45 分钟 | 7 分钟 | ⬇️ 84% | 45 行 |
MySQL 慢查询 | 60 分钟 | 11 分钟 | ⬇️ 82% | 68 行 |
Docker 清理 | 25 分钟 | 3 分钟 | ⬇️ 88% | 55 行 |
平均 | 39 分钟 | 5.8 分钟 | ⬇️ 85% | — |

04 三个 Prompt 技巧,让 AI 一次出货
技巧 1:结构化 Prompt——「角色 任务 要求 输出」四段式
代码语言:javascript复制角色:你是一个资深运维工程师任务:编写 [具体脚本功能]要求:- 语言:Bash/Python- 参数化:支持命令行参数- 异常处理:包含错误检查和退出码- 输出格式:表格化/JSON- 注释:关键步骤中文注释
技巧 2:迭代优化——首轮 80% 可用,剩下 20% 针对性调
代码语言:javascript复制说明
技巧 3:让 AI 自测——生成脚本后马上写测试用例
代码语言:javascript复制为上面的脚本写一个测试用例,覆盖:1. 正常输入场景2. 文件不存在的异常场景3. 权限不足的场景4. 空输入场景

05 踩坑指南:这 3 个坑我帮你踩过了
坑 1:AI 生成的脚本直接上生产
现象:AI 脚本本地跑通了,上生产后因为环境差异报错——Shell 版本不同、文件路径不一致、字符集不对。
解决:AI 生成 → 本地测试 → 预发布验证 → 生产执行,三步走不能省。
坑 2:Prompt 太笼统
现象:只说"写一个监控脚本",AI 输出非常通用,完全不实用。
解决:用四段式 Prompt 把需求说清楚。你对需求多清楚,AI 产出就多精准。
坑 3:忽略 Shell 兼容性
现象:Linux 跑通的脚本,在 macOS 上报错。
原因:macOS 的 date/sed/readlink 是 BSD 版,和 GNU 语法不同。
解决:在 Prompt 中标明目标系统,或脚本中加兼容判断。

06 总结:AI 辅助脚本开发的三个核心价值
•编写时间 ⬇️ 85%:平均从 39 分钟降到 5.8 分钟•错误率 ⬇️ 83%:从 18% 降到 3%(AI 自带边界处理)•文档化 ✅:AI 自动生成注释,不再有"无文档脚本"
适用场景:模式固定的运维脚本(巡检、统计、清理、批量操作) 不适用场景:高度定制化的业务逻辑脚本、对性能要求极高的核心链路脚本
本文参与腾讯云自媒体同步曝光计划,分享自微信公众号。原始发表:2026-07-03,如有侵权请联系[email protected] 删除-
07.07
星之破晓孙尚香最强阵容解析 孙尚香最强阵容搭配方案大全
-
07.07
可手游云挂机的盒子有哪些
-
07.07
七日世界净化房建造技巧是什么 七日世界净化房建造技巧汇总
-
07.07
原神继电石怎么放置 原神继电石怎么用
-
07.07
原神娜维娅的培养技巧是什么:原神娜维娅培养思路汇总
-
07.07
英雄联盟手游塞娜出装方法 英雄联盟手游塞娜出装攻略
-
-
下载
- 《神剑伏魔录》(神剑风云)游戏音乐合集
- 其他游戏|7.73 MB
- 一款非常好玩的武侠闯关游戏
-
-
下载
- 《行尸走肉第一章》免安装中文汉化硬盘版下载
- 单机|436 MB
- 一款以动作冒险为主题的游戏
-
-
下载
- 《街头霸王X铁拳》免安装中文汉化硬盘版下载
- 单机|111MB
- 一款非常好玩的格斗游戏
-
-
下载
- 《生化危机:浣熊市行动》免安装中文硬盘版下载
- 单机|6310 MB
- 一款以动作射击为主题的游戏
-
-
下载
- 《暗黑破坏神3》免安装繁体中文正式版下载
- 单机|7630 MB
- 一款以角色扮演为主题的游戏
-
-
下载
- 《马克思佩恩3》免安装硬盘版下载
- 单机|27033 MB
- 一款以第三人称射击为主题的游戏