最占空间的是/www/wwwlogs/下的nginx access.log和error.log;其次为带日期后缀的旧日志、bt_debug.log、php slow.log/error.log及mysql二进制日志。

宝塔面板里哪些日志文件最占空间
宝塔默认会把 Nginx、Apache、PHP、MySQL 的运行日志全堆在 /www/wwwlogs/,而且不自动轮转或压缩。尤其 Nginx 的 access.log 和 error.log,流量稍大一点,一个月就能涨到几个 GB。
-
/www/wwwlogs/*.log是重灾区,特别是带日期后缀的旧日志(如xxx.log-20240501)往往被遗忘 - 宝塔自身操作日志藏在
/www/wwwlogs/bt_debug.log和/www/panel/logs/下,长期不清理也会累积 - PHP 的
slow.log和error.log(路径类似/www/server/php/82/var/log/)容易被忽略,尤其开过调试模式
怎么安全删掉旧备份和冗余日志
别直接 rm -rf /www/backup —— 宝塔的「网站备份」和「数据库备份」默认都放这里,但部分备份可能还在面板里显示为“已存在”,删错会导致恢复失败。
- 先登录宝塔面板 →「计划任务」→ 找到所有「备份网站」「备份数据库」任务,点「执行记录」确认哪些备份已被手动删除,再把对应任务停用或删掉
- 真正可删的是:
/www/backup/site_*.zip、/www/backup/database_*.sql.gz中超过 7 天且没在面板「备份管理」里列出的文件 - 用命令快速清理 30 天前的日志:
find /www/wwwlogs -name "*.log*" -mtime +30 -delete;加-print先预览,别手抖
宝塔自带的“日志切割”功能为什么没起作用
很多人开了「日志切割」但磁盘还是涨,问题常出在两个地方:一是只勾了 Nginx 却没勾 PHP/MySQL,二是切割周期设成了「每月」但日志当天就爆了。
- 进「网站」→ 点站点 →「配置文件」右上角「日志切割」,必须手动勾选「Nginx 访问日志」「Nginx 错误日志」「PHP 错误日志」—— MySQL 日志要单独去「数据库」→「phpMyAdmin」或命令行处理
- 切割频率建议选「每天」,并确保「保留份数」≤ 7;否则切出来的
access.log-20240501堆满一年也删不掉 - 检查
/www/server/panel/vhost/nginx/下各站点 conf 文件里是否含access_log /www/wwwlogs/xxx.log—— 如果路径写死,切割脚本可能压根没覆盖到
删完还是剩不到 1G?重点查这几个隐藏位置
磁盘空间没释放,大概率是文件被进程占用着(尤其是 nginx、php-fpm),或者删的是软链接指向的旧 inode。
- 运行
lsof +L1查看有没有“已删除但未释放”的日志文件(状态标DEL),然后重启对应服务:bt restart 0(Nginx)、bt restart 1(Apache)、bt restart 5(PHP) -
/tmp和/www/server/data/mysql-bin.*(MySQL 二进制日志)经常被忽略,后者可能单个就 2–3GB,用mysql -uroot -p -e "PURGE BINARY LOGS BEFORE DATE_SUB(NOW(), INTERVAL 3 DAY);"清理 - 宝塔升级包缓存藏在
/www/server/panel/install,升级失败后残留的panel-*.tar.gz可直接删
磁盘清理最麻烦的不是找不到文件,而是删了不释放、或者删了影响备份恢复逻辑。动手前先 df -h 和 du -sh /www/* | sort -hr | head -10 定位真实大户,比盲目清空安全得多。










