雷池 WAF 磁盘空间清理指南
一、为什么磁盘会满?——了解空间去哪了
雷池 WAF 在保护你的网站时,会持续记录各种安全数据。主要占用空间的有两大"仓库":
1. 防护日志仓库(数据库)
- 存放内容:攻击记录、人机验证日志、访问统计等
- 存储位置:默认由 PostgreSQL 数据库管理,路径为
/data/safeline/resources/postgres/data
- 爆满原因:长期不清理日志,尤其高频攻击时数据会极速增长
2. 容器工具箱(Docker)
- 存放内容:雷池运行所需的镜像和临时文件
- 存储位置:
/var/lib/docker
- 爆满原因:多次升级后旧镜像未删除,或异常残留文件堆积
二、怎么清理?——两种方法任你选
方法1:控制台一键清理(推荐新手)
通过网页界面操作,安全直观:
- 登录雷池控制台 → 系统设置 → 数据清理
- 设置保留时间:
- 建议首次设置为 7 天(保留最近一周日志,后续可调整)
- 立即生效:保存后会自动触发清理,等待完成即可
⚠️ 注意:
- 清理时间受日志量影响,期间可能短暂卡顿,勿重复操作!
- 清理后日志无法恢复!
方法2:命令行彻底清理(高效但需谨慎)
若日志量极大或控制台清理失败,可通过命令强制清理:
1# 清理所有安全日志(立即生效,不可恢复!)
2docker exec safeline-mgt cleanlogs
操作示例:
1# 执行清理日志命令后,会提示如下信息
2[INFO] Clearing logs...
3[INFO] Truncating detect log...
4[INFO] Truncating event...
5[INFO] Truncating statistics...
6[INFO] Done
三、预防爆满——定期维护小技巧
- 设置自动清理周期:控制台 系统设置 → 数据清理 → 选择 保留 7 天 并开启自动清理
- 定期清理镜像:
- 手动升级时,旧版本镜像不会自动删除,执行下面的命令可以删除所有属于 chaitin/safeline 或 chaitin-safeline 仓库且标签为
<none>
的 Docker 镜像(通常是旧版本或悬空镜像):
1bash -c "[ $(docker images | grep chaitin[/-]safeline | grep -c none) == 0 ] || docker images | grep chaitin[/-]safeline | grep none | awk '{print \$3}' | xargs docker rmi"
- 手动升级时,旧版本镜像不会自动删除,执行下面的命令可以删除所有属于 chaitin/safeline 或 chaitin-safeline 仓库且标签为
四、常见问题解答
❓ 清理日志会影响防护功能吗?
✅ 不会!清理的仅是历史记录,不影响实时防护
❓ 误删了重要日志怎么办?
✅ 定期备份数据库或者进行快照即可恢复
❓ 会删错镜像吗?
✅ 不会!该命令专删雷池镜像,其他软件不受影响
通过以上步骤,即可快速释放雷池 WAF 的磁盘空间!如仍遇问题,建议截图保存提示信息并联系官方技术支持。