宝塔磁盘空间不足清理是指:通过定位并清理宝塔面板、网站、数据库、备份及系统产生的日志、缓存、临时文件等无用数据,快速释放服务器磁盘空间,保障网站和服务正常运行。
先定位磁盘占用
清理前应先确认磁盘使用情况,避免盲目删除,通过 SSH 登录服务器,执行:

df-h
查看根分区 的使用率,如果接近 100%,继续排查大目录:
du-sh/www/*2>/dev/null|sort-rh|head-20
进一步查看宝塔相关目录占用:
du-sh/www/server/*2>/dev/null|sort-rh|head-20
这样可以快速判断是日志、备份、数据库还是网站文件占用了大量空间。
清理宝塔面板日志
宝塔面板运行过程中会生成请求日志、任务日志、错误日志等,长期累积可能达到数 GB。
面板日志默认路径:
/www/server/panel/logs/
查看各日志文件大小:
du-sh/www/server/panel/logs/*
常见文件包括 request.log、error.log、task.log 等,对 .log 文件可以直接清空:
find/www/server/panel/logs-typef-name"*.log"-exectruncate-s0{}\;不建议直接删除日志文件,因为某些进程可能仍占用文件句柄,清空内容同样可以释放空间,且不会影响服务运行。
清理网站访问日志
宝塔网站访问日志通常存放在:
/www/wwwlogs/
查看该目录占用:
du-sh/www/wwwlogs/*
对于已经压缩的 .gz 日志,可以删除 7 天前的文件:
find/www/wwwlogs-typef-name"*.gz"-mtime+7-execrm-f{}\;对于正在写入的 .log 文件,建议使用清空方式处理:
find/www/wwwlogs-typef-name"*.log"-mtime+3-exectruncate-s0{}\;如果网站不需要保留访问日志,可在宝塔网站设置中关闭日志或调整日志切割保留份数,减少后续占用。
清理 MySQL 数据库日志
MySQL 的 binlog 二进制日志常常是磁盘占满的主要原因,宝塔中 MySQL 数据目录通常为:
/www/server/data/
查看 binlog 占用:
du-sh/www/server/data/mysql-bin.*2>/dev/null
可以登录 MySQL 后执行:
SHOWBINARYLOGS; PURGEBINARYLOGSBEFORENOW()-INTERVAL7DAY;
也可以在 MySQL 配置文件中加入自动过期设置:
expire_logs_days=7 max_binlog_size=100M
保存后重启 MySQL 生效,不要直接删除正在使用的 binlog 文件或 mysql-bin.index,应使用 PURGE 命令安全清理。
同时可清理 MySQL 错误日志和慢查询日志:
find/www/server/data-typef\(-name"*.err"-o-name"*-slow.log"\)-exectruncate-s0{}\;清空宝塔文件回收站
在宝塔文件管理中删除的文件会进入回收站,实际目录通常为:
/www/Recycle_bin/
查看占用:
du-sh/www/Recycle_bin/
确认无用后清空:
rm-rf/www/Recycle_bin/*/www/Recycle_bin/.[!.]*2>/dev/null
也可以登录宝塔面板,进入文件管理,点击回收站,然后清空回收站。
清理备份文件
宝塔备份目录一般位于:
/www/backup/
包括网站备份、数据库备份、证书备份等,查看占用:
du-sh/www/backup/*
对于旧的 .tar.gz、.sql.gz 备份文件,可删除 14 天前的:
find/www/backup-typef\(-name"*.tar.gz"-o-name"*.sql.gz"\)-mtime+14-execrm-f{}\;如果这些备份仅保存在本地,删除前请确认是否需要保留,建议先下载到本地或上传至对象存储后再清理。
清理临时文件和系统缓存
系统临时目录可能积累大量临时文件:
du-sh/tmp/var/tmp2>/dev/null
清理 3 天前的临时文件:
find/tmp-typef-mtime+3-execrm-f{}\;
find/var/tmp-typef-mtime+3-execrm-f{}\;宝塔安装包缓存也可以清理:
find/www/server/panel/install-typef\(-name"*.tar.gz"-o-name"*.zip"\)-delete
注意只清理下载的压缩包,不要删除安装脚本本身。
清理 PHP 日志和会话
PHP 运行日志、慢日志和会话文件也可能占用空间,宝塔中 PHP 版本日志目录例如:
/www/server/php/74/var/log/
清空 PHP 日志:
find/www/server/php-typef-name"*.log"-exectruncate-s0{}\;PHP session 文件默认可能在 /tmp 或 /var/lib/php/session,可清理过期会话:
find/var/lib/php/session-typef-mtime+2-execrm-f{}\;2>/dev/null清理网站程序缓存
许多网站程序会生成运行时缓存,常见目录包括:
/www/wwwroot/站点目录/runtime/cache /www/wwwroot/站点目录/temp /www/wwwroot/站点目录/cache
清理前需根据实际程序判断,ThinkPHP、Laravel 等框架通常有 runtime 或 storage/framework/cache 目录,可先查找这些目录的占用:
find/www/wwwroot-typed\(-name"runtime"-o-name"cache"\)-execdu-sh{}\;2>/dev/null确认后手动清空对应缓存目录中的内容,但不要删除目录本身,以免程序报错。
查找并处理大文件
如果以上操作后仍未释放足够空间,可以查找全盘大文件:
find/-xdev-typef-size+100M-execls-lh{}\;2>/dev/null|sort-k5-h也可以只查找常见目录:
find/www/var/tmp-typef-size+200M-execls-lh{}\;2>/dev/null定位后判断是否可删除或迁移,常见大文件包括:未压缩的数据库备份、整站压缩包、超大日志文件、误生成的备份文件等。
十一、清理 Docker 无用资源
如果服务器安装了 Docker,容器、镜像、卷可能占用大量磁盘,先查看占用:
dockersystemdf
清理未使用的镜像、容器、网络和构建缓存:
dockersystemprune-a--volumes
该命令会删除所有未运行的容器、未使用的镜像和未使用的卷,执行前请确认这些资源不再需要。
十二、清理系统日志
系统日志目录 /var/log/ 下的旧日志也可能很大,查看占用:
du-sh/var/log/*
可清空 7 天前的系统日志:
find/var/log-typef-name"*.log"-mtime+7-exectruncate-s0{}\;如果使用 systemd 管理日志,可限制日志大小:
journalctl--vacuum-size=200M journalctl--vacuum-time=7d
十三、定期自动清理建议
为避免磁盘再次被占满,可以在宝塔计划任务中添加定期清理脚本,例如每天清理过期日志:
find/www/wwwlogs-typef-name"*.gz"-mtime+7-delete
find/www/server/panel/logs-typef-name"*.log"-exectruncate-s0{}\;
find/tmp-typef-mtime+3-delete同时建议:
MySQL 开启 binlog 自动过期,设置
expire_logs_days = 7。网站日志设置切割保留份数,避免无限增长。
备份文件设置保留数量,并定期同步到异地。
监控磁盘使用率,设置告警阈值,及时处理。
对不熟悉的目录和文件,先查看大小再决定是否清理,避免误删网站或数据库数据。