宝塔服务器磁盘占用过高清理教程|安全清理日志、缓存、垃圾文件,不删除网站数据
时间:2026-07-30 20:53:44 来源:aliz.cn 作者:SKY 阅读:
很多站长运营一段时间后,突然遇到网站无法发布文章、静态页生成失败、FTP 上传报错,登录宝塔面板一看磁盘使用率 100%,硬盘彻底占满。 大部分人不敢随意删除文件,怕误删网站源码、数据库、附件导致站点报废。本文全部为安全无风险清理项,只删除日志、临时缓存、冗余备份、安装包等无效文件,分 Linux 服务器、Windows 宝塔两套实操步骤,附带一键清理脚本与定期自动维护方案,适配aliz.cn所有建站服务器。
宝塔终端输入,一键扫描占用最高的文件夹:
bash
运行
高频占用大户:
宝塔面板 → 磁盘工具 → 磁盘分析,直接可视化查看大文件目录,重点看
binlog 日志用于数据库回滚、主从同步,单站点独立服务器完全可以关闭并清理,能瞬间释放几 G~ 几十 G 空间。
ini
bash
运行
长期运行日志文件体积巨大,可定期清空,不会影响网站运行:
bash
运行
如需避免后续日志暴涨,可在站点配置关闭不必要的访问日志记录。
bash
运行
bash
运行
Windows 环境无法使用 Linux 命令,纯面板可视化操作:
为防止误操作导致站点损坏,以下文件夹禁止触碰:
宝塔 → 计划任务 → Shell 脚本任务,周期选择每周执行一次,粘贴上面一键清理脚本,保存即可自动定期释放空间。
Windows 自带任务计划程序,新建任务每周执行一次批处理清理日志文件。
如果已经 100% 无法写入任何文件:
一、先排查:到底是什么文件吃掉了磁盘空间
1.1 Linux 宝塔快速定位大文件命令
宝塔终端输入,一键扫描占用最高的文件夹:
bash
运行
# 查看根目录各文件夹占用
du -sh /*
# 深度扫描/www目录下大于100M的文件
find /www -type f -size +100M -exec ls -lh {} \;
高频占用大户:
- MySQL binlog 二进制日志(占比最高)
- 网站运行日志、Nginx/Apache 访问日志、错误日志
- 重复打包的网站备份、数据库备份压缩包
- PHP session 临时文件、缓存插件生成的缓存文件
- 旧版本安装包、升级残留压缩包、回收站文件
1.2 Windows 宝塔查看方式
宝塔面板 → 磁盘工具 → 磁盘分析,直接可视化查看大文件目录,重点看
BtSoft备份目录、站点 logs 日志文件夹。
二、Linux 宝塔安全逐项清理(核心操作)
2.1 清理 MySQL 二进制日志 binlog(最有效,首选操作)
binlog 日志用于数据库回滚、主从同步,单站点独立服务器完全可以关闭并清理,能瞬间释放几 G~ 几十 G 空间。
- 宝塔 → 数据库 → 对应数据库 → 配置文件
my.cnf编辑 - 注释两行代码,关闭后续自动生成:
ini
#log_bin = /www/server/mysql/log/mysql-bin.log
#expire_logs_days = 7
- 保存重启 MySQL 服务;
- 终端执行命令删除所有旧日志文件:
bash
运行
rm -rf /www/server/mysql/log/mysql-bin.*
2.2 清理 Nginx 站点访问日志 & 错误日志
长期运行日志文件体积巨大,可定期清空,不会影响网站运行:
bash
运行
# 批量清空所有站点日志
truncate -s 0 /www/server/nginx/logs/*.log
# 单个站点日志目录清理
rm -rf /www/wwwlogs/*.log
如需避免后续日志暴涨,可在站点配置关闭不必要的访问日志记录。
2.3 清理冗余备份文件
- 宝塔 → 网站备份、数据库备份,删除 3 个月以上老旧备份包;
- 关闭自动重复备份,设置只保留最近 3 份备份;
- 路径手动删除:
/www/backup/site/、/www/backup/database/过期压缩包。
2.4 清理 PHP 临时文件、缓存文件
bash
运行
# 清理PHP会话临时文件
rm -rf /www/server/php/*/tmp/*
# 清理宝塔面板自身日志
rm -rf /www/server/panel/logs/*.log
2.5 一键清理垃圾脚本(直接终端运行)
bash
运行
#!/bin/bash
# 安全清理脚本,不会删除网站源码
truncate -s 0 /www/server/nginx/logs/*.log
rm -rf /www/server/php/*/tmp/*
rm -rf /www/server/panel/logs/*.log
rm -rf /www/wwwlogs/*.log
echo "服务器垃圾清理完成"
三、Windows 宝塔磁盘爆满清理方案(适配你当前服务器)
Windows 环境无法使用 Linux 命令,纯面板可视化操作:
- 清理 MySQL 日志 打开 BtSoft→mysql→data 文件夹,删除
mysql-bin.0000*开头所有日志文件,重启 MySQL 服务。 - 清理站点日志 进入网站根目录
logs文件夹,全部.log日志文件直接删除,仅保留文件夹。 - 清理宝塔备份目录 路径:
D:\BtSoft\backup,删除过期网站备份、数据库备份压缩包。 - 清理浏览器 & 系统临时文件 此电脑→C 盘→Windows→Temp,全部临时文件删除;同时清理回收站。
- 清理缓存插件缓存目录 WordPress 缓存插件、帝国 CMS 全站缓存,后台一键清理后,删除站点
cache缓存文件夹内文件。
四、高危绝对不能删除的目录(红线提醒)
为防止误操作导致站点损坏,以下文件夹禁止触碰:
/www/wwwroot/网站源码根目录/www/server/mysql/data/数据库真实数据目录- 站点
d、upload附件图片文件夹 - PHP、Nginx 运行程序主目录
五、宝塔设置定时自动清理(一劳永逸,杜绝再次爆满)
5.1 Linux 计划任务设置
宝塔 → 计划任务 → Shell 脚本任务,周期选择每周执行一次,粘贴上面一键清理脚本,保存即可自动定期释放空间。
5.2 Windows 定时任务
Windows 自带任务计划程序,新建任务每周执行一次批处理清理日志文件。
六、清理后配套优化,防止反复爆满
- MySQL 关闭 binlog 二进制日志(独立服务器必关);
- 宝塔备份策略改为只保留最近 2 个备份;
- Nginx 降低日志记录级别,不记录爬虫无效访问日志;
- WordPress、帝国 CMS 定期后台清理全站缓存;
- 大附件站点挂载额外磁盘存储图片、下载文件。
七、磁盘占满紧急抢救小技巧
如果已经 100% 无法写入任何文件:
- 优先删除最大的 binlog 日志文件,立刻释放空间;
- 临时删除老旧备份包,空间恢复后再做后续优化;
- 不要在磁盘满的状态下重启服务器,避免数据库损坏。
本文配套模板、静态源码可前往艾立兹素材库alisucai.com下载
发表评论
共有0条评论