服务器与附件定期清理
定期清理站点日志、数据库日志与无用附件,释放磁盘空间并加快备份与搬家。
一、定期清理的意义
网站运行越久,日志与无用附件越多,既占磁盘,也让备份、搬家变得缓慢。访问量大的站点建议一周清理一次,访问量不大的可一个月一次。
二、清理站点日志
宝塔环境下的站点日志通常位于 /www/wwwlogs,按域名生成 .log 文件:
# 查看各日志大小
du -sh /www/wwwlogs/* | sort -h | tail
# 清空当前日志(保留文件,释放空间)
> /www/wwwlogs/你的域名.log
# 归档历史日志后按需删除
gzip /www/wwwlogs/你的域名.log.1 2>/dev/null
直接删除日志前建议先归档一份,便于出问题回查。PHP 慢日志、错误日志与面板自身的运行日志,也可按需清理。
三、清理数据库日志
数据库运行会生成二进制日志与慢日志,占用可观。面板「数据库」中可查看数据与日志占用,先清理日志,再考虑优化表结构。
-- 查看各库数据与索引占用
SELECT table_schema, ROUND(SUM(data_length+index_length)/1024/1024,2) AS mb
FROM information_schema.tables GROUP BY table_schema;
清理二进制日志前先确认不需要按时间点恢复,或在备份策略中另有保障。
四、清理无用附件
用户上传但未发布信息、或信息被删除后遗留的图片视频,都是无用附件。后台「附件管理」记录全部上传文件,状态分三种:
| 状态 | 含义 | 处理 |
|---|---|---|
| 正常 | 仍被信息或商家引用 | 保留 |
| 过期 | 信息已删除,文件无用 | 可删除 |
| 等待 | 刚上传、信息未提交 | 24 小时后自动转为过期 |
按状态筛选「过期」,全选后执行删除;若图片文件此前已从磁盘删除,选“删除记录”而非“删除文件”,避免报错。
五、批量删除与导入
- 后台「附件管理 → 删除过期」,选择截止日期,可一次性删除该日期前所有过期附件。
- 若附件管理记录数少于磁盘实际文件数,先用「导入附件」把无记录的文件导入,再筛选「未知」执行检测,检测后即可按状态批量清理。
- 服务器残留的临时文件、上传失败的碎片文件,可定期在
upload/中按时间筛选清理。
清理不可逆,执行前先备份数据库与附件目录;删除时优先按“过期”状态批量处理,避免误删正常图片。