宝塔面板日志文件过大_配置日志轮转与定时清理

张开发
2026/4/20 4:18:30 15 分钟阅读

分享文章

宝塔面板日志文件过大_配置日志轮转与定时清理
宝塔面板日志轮转需依赖系统logrotate非面板内置须手动配置/etc/logrotate.d/规则并确保权限、路径正确启用logrotate.timer且MySQL慢日志等需配合USR1信号重载。宝塔面板日志轮转没生效检查 logrotate 配置路径和权限宝塔本身不内置 logrotate它依赖系统级的 /etc/logrotate.d/ 规则。很多人以为在面板里点“日志切割”就万事大吉结果发现 /var/log/journal 或 /www/wwwlogs/xxx.log 依然疯长——问题常出在 logrotate 没被正确触发或配置文件压根没写对路径。先确认 logrotate 是否真在运行sudo systemctl status logrotate.timer若显示 inactive需启用sudo systemctl enable --now logrotate.timer检查宝塔站点日志是否被纳入轮转默认不会自动加入得手动创建配置比如 /etc/logrotate.d/bt-site内容必须严格匹配日志实际路径例如/www/wwwlogs/*.log { daily rotate 10 compress missingok notifempty create 640 www www}create 640 www www 这行不能少否则轮转后新日志因权限不对写不进去Nginx/Apache 会报错 open() /www/wwwlogs/xxx.log failed (13: Permission denied)测试配置是否语法合法sudo logrotate -d /etc/logrotate.d/bt-site-d 是 debug 模式不真正执行宝塔计划任务里的“日志切割”功能到底切什么这个功能只处理宝塔面板识别为“网站日志”的文件即 /www/wwwlogs/域名.log 和 /www/wwwlogs/域名.error.log且仅支持按天切割、保留份数**不处理 Nginx 自身的 access.log 或 error.log如果它们被重定向到别处也不管 /var/log/ 下任何系统日志。它本质是调用宝塔内部脚本执行 mv gzip touch不是 logrotate所以无法限制单个文件大小也不能压缩旧日志时延迟删除原始文件delaycompress如果你在站点设置里关了“记录访问日志”那这个切割任务就完全无效——它切的是“已开启日志记录”的站点执行时间固定在每天 00:30不可修改若服务器在那个时刻离线当天切割就会跳过不会补执行建议只对高流量正式站启用测试站直接关日志更省事记录访问日志 和 记录错误日志 全部取消勾选systemd-journald 占几 GBjournalctl 的配额必须手动设宝塔面板服务bt、MySQL、Nginx 等只要用 systemd 启动其 stdout/stderr 默认全被 journald 捕获。默认无上限/var/log/journal/ 几个月就能涨到 5–10 GB而宝塔面板的“日志清理工具”对此完全无感。 Felvin AI无代码市场只需一个提示快速构建应用程序

更多文章