自动化磁盘空间清理与维护,适用于OpenClaw部署。涵盖12类清理项:内存、SQLite孤立文件、临时文件、SQLite VACUUM、Docker悬空镜像等。
磁盘清理 : OpenClaw 部署时自动磁盘空间回收是一项面向实际任务的技能,主要用于覆盖 OpenClaw 不从本地处理的12个清理类别( 截至 2026. 3. 13 );OpenClaw 已经处理的。
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
面向 OpenClaw 部署的自动化磁盘空间回收工具。覆盖 OpenClaw 当前(截至 2026.3.13)未原生支持的 12 类清理场景。
session.maintenance 配置项(pruneAfter、maxEntries、rotateBytes)sandbox.prune 配置项(idleHours、maxAgeDays)contextPruning 配置项(cache-ttl 模式)| # | 类别 | 典型增长量 | 触发条件 |
|---|---|---|---|
| 1 | 内存 SQLite .tmp-* 孤儿文件 |
因索引重建失败产生数百 MB | 始终执行 |
| 2 | 内存 SQLite VACUUM | 高频使用后产生的碎片 | 仅在指定 --aggressive 时执行 |
| 3 | Docker 镜像 / 卷 / 构建缓存 | 由 sandbox 重建累积达 GB 级 | 始终执行 |
| 4 | 网关日志(/tmp/openclaw/*.log) |
每日持续增长 | 文件修改时间超过 3 天 |
| 5 | /tmp 目录下的 OpenClaw 临时文件 |
巡检(patrol)、看板(board)、定时任务(cron)等生成的中间产物 | 文件修改时间超过 24 小时 |
| 6 | 工作区 .prebind.* 备份文件 |
每次备份可达数百 MB | 文件修改时间超过 7 天 |
| 7 | 投递队列(Delivery queue)中的旧条目 | 随消息吞吐量线性增长 | 条目创建时间超过 7 天 |
| 8 | systemd journal 日志 | 默认 VPS 配置下可达 GB 级 | 总大小超过 500MB |
| 9 | npm/yarn/pnpm/bun/prisma/node-gyp 缓存 | 因技能(skill)/插件(plugin)安装累积达 GB 级 | 缓存目录总大小超过 100MB |
| 10 | 轮转后的系统日志(rotated syslogs)及 btmp |
公网 VPS 上记录 SSH 暴力破解尝试的日志 | 始终执行 |
| 11 | Git 工作区 .git |
自动提交(如 board-move 等操作)导致体积持续增长 | 目录大小超过 200MB |
| 12 | QMD / 迁移(migration)产物 | 后端切换后遗留的过期文件 | 自动检测 |
直接运行:
# 预览将被清理的内容(安全,不执行任何删除) bash scripts/disk-cleanup.sh --dry-run # 常规清理 bash scripts/disk-cleanup.sh # 深度清理:包含 SQLite VACUUM + 启用激进模式的 git gc bash scripts/disk-cleanup.sh --aggressive # Cron 模式:仅输出摘要行 bash scripts/disk-cleanup.sh --quiet
推荐每周日 04:00 CET 执行:
使用 cron 工具:
schedule: { kind: "cron", expr: "0 3 * * 0", tz: "Europe/Luxembourg" }
payload: { kind: "agentTurn", message: "Run disk cleanup: bash scripts/disk-cleanup.sh --aggressive --quiet. Report results." }
sessionTarget: "isolated"
或集成至现有 infra-health-check 脚本中,并添加磁盘使用率阈值触发逻辑:
DISK_PCT=$(df / --output=pcent | tail -1 | tr -d ' %') if [ "$DISK_PCT" -ge 85 ]; then bash /path/to/disk-cleanup.sh --quiet fi if [ "$DISK_PCT" -ge 90 ]; then bash /path/to/disk-cleanup.sh --aggressive --quiet fi
| 变量 | 默认值 | 说明 |
|---|---|---|
OPENCLAW_HOME |
~/.openclaw |
OpenClaw 状态目录 |
OPENCLAW_WORKSPACE |
$(pwd) |
Agent 工作区根路径 |
0 — 成功(已清理或无可清理内容)1 — 清理过程中发生错误最后一行为机器可解析格式:
CLEAN|0|0B|44% # 未执行任何清理 CLEANED|5|1.2GB|67% # 共执行 5 项操作,释放 1.2GB,当前磁盘使用率为 67%
--dry-run 模式下仅预览所有操作,不执行任何删除--aggressive 且检测到碎片率 ≥5% 时执行btmp 文件被截断(truncate),而非删除——系统依赖该文件存在--auto;仅在显式指定 --aggressive 时启用激进模式相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.3万人学习
共49课时 | 82.7万人学习
最新文章