OpenClaw 服务器运维
任务目标
- - 本 Skill 用于:系统管理员、运维工程师进行安全高效的服务器维护操作
- 能力包含:系统识别、命令验证、风险评估、故障排查、性能监控、日志分析
- 触发条件:用户请求服务器维护、系统诊断、性能优化、故障修复或日常运维任务
核心原则
安全第一
- - 永远先查看再执行:任何破坏性操作前,必须先确认当前状态
- 执行前评估风险:识别命令潜在影响,准备回滚方案
- 保持操作可追溯:记录每个关键操作的命令、时间、结果
系统识别优先
- - 执行任何操作前,先识别系统类型(Linux 发行版、macOS、Windows)
- 根据系统类型选择合适的命令和工具
- 不假设系统环境,通过命令输出验证
验证驱动
- - 执行前:验证命令语法、影响范围、资源可用性
- 执行后:验证操作结果、系统状态、数据完整性
- 异常时:保留现场、收集日志、分析原因
标准工作流程
阶段 1:环境识别与评估
- 1. 识别系统类型
CODEBLOCK0
- 2. 评估当前状态
- 系统负载:
uptime 或
top -bn1 | head -20
- 磁盘使用:
df -h
- 内存使用:
free -h 或
vm_stat
- 网络连接:
ss -tuln 或 INLINECODE6
- 3. 检查风险因素
- 是否在生产环境
- 是否有关键服务运行
- 是否有未提交的更改
- 备份状态
阶段 2:命令评估与验证
- 1. 命令风险评估
- 查阅
references/linux-commands.md 确认命令安全等级
- 使用
--help 或
man 查看命令详细说明
- 识别破坏性参数(如
-r、
-f、
--force)
- 2. 模拟执行(如果可能)
- 使用
--dry-run 参数(如 rsync、apt-get)
- 使用
echo 预览命令
- 在测试环境先执行
- 3. 安全检查清单
- 参考
references/safety-checklist.md
- 确认数据备份
- 准备回滚方案
- 通知相关人员(如需要)
阶段 3:执行与监控
- 1. 执行命令
- 使用绝对路径或确认命令来源
- 添加详细日志记录
- 在非高峰期执行(如适用)
- 2. 实时监控
- 观察命令输出
- 监控系统资源变化
- 准备中断执行(如 Ctrl+C)
- 3. 记录操作
- 记录执行的命令
- 记录输出结果
- 记录执行时间
阶段 4:验证与确认
- 1. 验证结果
- 确认操作达到预期效果
- 检查系统状态是否正常
- 验证相关服务运行正常
- 2. 数据完整性检查
- 确认数据未丢失或损坏
- 验证权限和所有权正确
- 检查配置文件语法
- 3. 文档更新
- 更新运维日志
- 更新配置文档(如需要)
- 记录经验教训
常见运维场景
场景 1:系统性能诊断
触发:系统响应慢、负载高
流程:
- 1. 执行
scripts/analyze-system.sh --json 收集系统快照 - 分析资源使用情况(CPU、内存、磁盘 I/O、网络)
- 定位高消耗进程
- 根据分析结果提供优化建议
场景 2:磁盘空间清理
触发:磁盘使用率超过阈值
流程:
- 1.
df -h 确认磁盘使用情况 - INLINECODE16 定位大目录
- INLINECODE17 查找大文件
- 列出可清理文件清单(不直接删除)
- 等待用户确认后再执行清理
场景 3:进程管理
触发:进程异常、需要重启服务
流程:
- 1.
ps aux | grep process_name 查找进程 - INLINECODE19 检查服务状态
- 查看日志文件:
journalctl -u service_name -n 50 或 INLINECODE21 - 分析异常原因
- 提供解决方案(优先非破坏性方案)
场景 4:网络故障排查
触发:网络不通、服务不可访问
流程:
- 1.
ping target_ip 测试连通性 - INLINECODE23 或
ifconfig 检查网络配置 - INLINECODE25 检查端口监听
- INLINECODE26 或
nft list ruleset 检查防火墙 - 查看
/var/log/syslog 或相关日志
场景 5:日志分析
触发:需要分析错误日志、排查问题
流程:
- 1. 确定日志位置:
/var/log/...、 INLINECODE30 - 按时间筛选: INLINECODE31
- 按关键词搜索: INLINECODE32
- 统计错误频率: INLINECODE33
- 分析错误模式和上下文
场景 6:软件包管理
触发:安装、更新、卸载软件
流程:
- 1. 识别包管理器:
apt-get、yum、dnf、pacman、 INLINECODE38 - 更新包索引:
apt-get update 或 INLINECODE40 - 查看可用版本: INLINECODE41
- 模拟安装: INLINECODE42
- 执行安装并验证:
apt-get install package_name + INLINECODE44
系统类型识别
Linux
- - Ubuntu/Debian:存在 INLINECODE45
- CentOS/RHEL:存在 INLINECODE46
- Arch Linux:存在 INLINECODE47
- 通用命令: INLINECODE48
macOS
- - 标识:
sw_vers 或 uname -s 返回 "Darwin"
Windows
- - 标识:
systeminfo 或 INLINECODE52
资源索引
必要脚本
- 用途:快速了解系统状态和配置
- 参数:
--json 输出 JSON 格式,
--output FILE 保存到文件
领域参考
- 何时读取:执行不熟悉的命令前
- 包含:命令说明、安全等级、示例、风险提示
- 何时读取:执行任何破坏性操作前
- 包含:执行前检查、风险评估、回滚准备
- 何时读取:遇到系统故障或异常时
- 包含:常见故障场景、诊断流程、解决方案
注意事项
永远不要做的事
- - 不要在未知系统上直接执行破坏性命令
- 不要使用
rm -rf 除非 100% 确认路径 - 不要在生产环境直接测试新命令
- 不要忽略命令警告和错误信息
推荐做法
- - 优先使用只读命令获取信息
- 命令参数优先使用明确路径而非通配符
- 执行前先用
echo 预览完整命令 - 重要操作前先创建系统快照或备份
日志规范
- - 关键操作记录时间、用户、命令、结果
- 异常情况记录错误信息和现场
- 定期审查操作日志,总结经验
使用示例
示例 1:系统健康检查
功能:全面检查系统状态
执行方式:调用脚本 + 智能体分析
CODEBLOCK1
智能体分析要点:
- - 识别系统类型和版本
- 评估资源使用率
- 检查异常进程
- 识别潜在风险
示例 2:安全清理磁盘空间
功能:识别并建议清理大文件
执行方式:智能体引导 + 用户确认
CODEBLOCK2
关键步骤:
- 1. 使用只读命令定位目标
- 列出清理建议清单
- 等待用户确认
- 执行清理并验证
示例 3:进程异常诊断
功能:诊断进程崩溃或卡死原因
执行方式:智能体分析
CODEBLOCK3
智能体分析:
- - 结合进程状态、日志内容、系统资源
- 识别异常模式
- 提供针对性解决方案
OpenClaw 服务器运维
任务目标
- - 本 Skill 用于:系统管理员、运维工程师进行安全高效的服务器维护操作
- 能力包含:系统识别、命令验证、风险评估、故障排查、性能监控、日志分析
- 触发条件:用户请求服务器维护、系统诊断、性能优化、故障修复或日常运维任务
核心原则
安全第一
- - 永远先查看再执行:任何破坏性操作前,必须先确认当前状态
- 执行前评估风险:识别命令潜在影响,准备回滚方案
- 保持操作可追溯:记录每个关键操作的命令、时间、结果
系统识别优先
- - 执行任何操作前,先识别系统类型(Linux 发行版、macOS、Windows)
- 根据系统类型选择合适的命令和工具
- 不假设系统环境,通过命令输出验证
验证驱动
- - 执行前:验证命令语法、影响范围、资源可用性
- 执行后:验证操作结果、系统状态、数据完整性
- 异常时:保留现场、收集日志、分析原因
标准工作流程
阶段 1:环境识别与评估
- 1. 识别系统类型
bash
# Linux
cat /etc/os-release
uname -a
# macOS
sw_vers
# Windows
systeminfo
- 2. 评估当前状态
- 系统负载:uptime 或 top -bn1 | head -20
- 磁盘使用:df -h
- 内存使用:free -h 或 vm_stat
- 网络连接:ss -tuln 或 netstat -tuln
- 3. 检查风险因素
- 是否在生产环境
- 是否有关键服务运行
- 是否有未提交的更改
- 备份状态
阶段 2:命令评估与验证
- 1. 命令风险评估
- 查阅
references/linux-commands.md 确认命令安全等级
- 使用 --help 或 man 查看命令详细说明
- 识别破坏性参数(如 -r、-f、--force)
- 2. 模拟执行(如果可能)
- 使用 --dry-run 参数(如 rsync、apt-get)
- 使用 echo 预览命令
- 在测试环境先执行
- 3. 安全检查清单
- 参考
references/safety-checklist.md
- 确认数据备份
- 准备回滚方案
- 通知相关人员(如需要)
阶段 3:执行与监控
- 1. 执行命令
- 使用绝对路径或确认命令来源
- 添加详细日志记录
- 在非高峰期执行(如适用)
- 2. 实时监控
- 观察命令输出
- 监控系统资源变化
- 准备中断执行(如 Ctrl+C)
- 3. 记录操作
- 记录执行的命令
- 记录输出结果
- 记录执行时间
阶段 4:验证与确认
- 1. 验证结果
- 确认操作达到预期效果
- 检查系统状态是否正常
- 验证相关服务运行正常
- 2. 数据完整性检查
- 确认数据未丢失或损坏
- 验证权限和所有权正确
- 检查配置文件语法
- 3. 文档更新
- 更新运维日志
- 更新配置文档(如需要)
- 记录经验教训
常见运维场景
场景 1:系统性能诊断
触发:系统响应慢、负载高
流程:
- 1. 执行 scripts/analyze-system.sh --json 收集系统快照
- 分析资源使用情况(CPU、内存、磁盘 I/O、网络)
- 定位高消耗进程
- 根据分析结果提供优化建议
场景 2:磁盘空间清理
触发:磁盘使用率超过阈值
流程:
- 1. df -h 确认磁盘使用情况
- du -h --max-depth=1 /path 定位大目录
- find /path -type f -size +100M 查找大文件
- 列出可清理文件清单(不直接删除)
- 等待用户确认后再执行清理
场景 3:进程管理
触发:进程异常、需要重启服务
流程:
- 1. ps aux | grep processname 查找进程
- systemctl status servicename 检查服务状态
- 查看日志文件:journalctl -u service_name -n 50 或 /var/log/...
- 分析异常原因
- 提供解决方案(优先非破坏性方案)
场景 4:网络故障排查
触发:网络不通、服务不可访问
流程:
- 1. ping target_ip 测试连通性
- ip addr 或 ifconfig 检查网络配置
- ss -tuln 检查端口监听
- iptables -L -n 或 nft list ruleset 检查防火墙
- 查看 /var/log/syslog 或相关日志
场景 5:日志分析
触发:需要分析错误日志、排查问题
流程:
- 1. 确定日志位置:/var/log/...、journalctl
- 按时间筛选:grep ERROR /path/log | tail -100
- 按关键词搜索:grep keyword /path/log
- 统计错误频率:grep ERROR /path/log | wc -l
- 分析错误模式和上下文
场景 6:软件包管理
触发:安装、更新、卸载软件
流程:
- 1. 识别包管理器:apt-get、yum、dnf、pacman、brew
- 更新包索引:apt-get update 或 yum check-update
- 查看可用版本:apt-cache show packagename
- 模拟安装:apt-get install --dry-run packagename
- 执行安装并验证:apt-get install packagename + packagename --version
系统类型识别
Linux
- - Ubuntu/Debian:存在 /etc/debian_version
- CentOS/RHEL:存在 /etc/redhat-release
- Arch Linux:存在 /etc/arch-release
- 通用命令:cat /etc/os-release
macOS
- - 标识:sw_vers 或 uname -s 返回 Darwin
Windows
资源索引
必要脚本
- 用途:快速了解系统状态和配置
- 参数:--json 输出 JSON 格式,--output FILE 保存到文件
领域参考
- 何时读取:执行不熟悉的命令前
- 包含:命令说明、安全等级、示例、风险提示
- 何时读取:执行任何破坏性操作前
- 包含:执行前检查、风险评估、回滚准备
- 何时读取:遇到系统故障或异常时
- 包含:常见故障场景、诊断流程、解决方案
注意事项
永远不要做的事
- - 不要在未知系统上直接执行破坏性命令
- 不要使用 rm -rf 除非 100% 确认路径
- 不要在生产环境直接测试新命令
- 不要忽略命令警告和错误信息
推荐做法
- - 优先使用只读命令获取信息
- 命令参数优先使用明确路径而非通配符
- 执行前先用 echo 预览完整命令
- 重要操作前先创建系统快照或备份
日志规范
- - 关键操作记录时间、用户、命令、结果
- 异常情况记录错误信息和现场
- 定期审查操作日志,总结经验
使用示例
示例 1:系统健康检查
功能:全面检查系统状态
执行方式:调用脚本 + 智能体分析
bash
执行系统信息收集
/workspace/projects/openclaw/scripts/analyze-system.sh --json
智能体分析要点: