宝塔面板服务器磁盘空间持续增长极可能由日志累积导致,可通过五种方法一键清理:一、安装官方日志清理工具自动识别并删除面板、网站、数据库等日志;二、在网站设置中清空Nginx/Apache访问与错误日志;三、用journalctl命令清理systemd-journald二进制日志;四、在MySQL中执行PURGE BINARY LOGS清理binlog;五、用find和cat /dev/null截断/var/log下超大文本日志。

如果您发现宝塔面板所在服务器磁盘空间持续增长,而网站与服务运行正常,极有可能是系统及应用日志长期累积未清理所致。以下是多种可立即执行的一键式日志清理方法:
一、使用宝塔官方日志清理工具
该工具由宝塔团队开发,内置安全白名单机制,能自动识别并清理面板自身、网站、数据库、邮件及系统中可安全删除的日志类型,避免误删关键文件。
1、登录宝塔面板后台,进入【软件商店】页面。
2、在搜索框中输入日志清理工具,点击对应应用右侧的【安装】按钮。
3、安装完成后返回【已安装】标签页,找到该工具并点击【运行】。
4、等待扫描完成,勾选PHP会话日志、网站访问日志、面板操作日志、邮箱日志等选项。
5、点击【开始清理】,工具将自动执行删除并刷新磁盘使用率。
二、一键清空Web服务日志(Nginx/Apache)
Web服务器日志(如access.log、error.log)随访问量线性增长,单个网站日志可达数GB。宝塔提供直接清空入口,不依赖外部命令,操作即时生效。
1、在左侧菜单栏点击【网站】,选择目标站点后点击【设置】。
2、切换至【日志】选项卡,页面顶部显示当前日志总大小(例如:/www/wwwlogs/example.com.log:3.2 GB)。
3、点击右侧【清空日志】按钮,确认弹窗提示。
4、重复操作,对所有高流量站点逐一执行清空。
三、强制清理systemd-journald二进制日志
CentOS 7+ 或 Ubuntu 16.04+ 系统默认启用journald服务,其日志以二进制格式存储于/var/log/journal/,长期运行后常占用10–30 GB空间,且不被常规日志工具识别。
1、通过SSH连接服务器,执行以下命令查看当前占用:
journalctl --disk-usage
2、保留最近7天日志,其余全部清理:
journalctl --vacuum-time=7d
3、若需彻底清空所有journald日志(含历史归档),执行:
journalctl --vacuum-size=100M
4、执行后验证释放效果:
du -sh /var/log/journal
四、快速清除MySQL二进制日志(binlog)
MySQL开启binlog功能后,每生成一个事务即写入一个mysql-bin.0000XX文件,长期未配置过期策略会导致累计数十GB。此操作必须在MySQL服务运行状态下执行。
1、通过SSH登录服务器,执行命令进入MySQL命令行:
mysql -u root -p
2、输入密码后,执行以下语句查看当前最新binlog文件名:
SHOW MASTER LOGS;
3、假设最新文件为mysql-bin.000015,则保留该文件及之前所有,清理更早的:
PURGE BINARY LOGS TO 'mysql-bin.000015';
4、退出MySQL命令行:
EXIT;
五、终端批量清理/var/log下超大文本日志
/var/log目录中部分日志(如maillog、secure、messages)可能因异常事件暴增,单个文件突破1GB。可通过find命令定位并安全截断,避免rm误删导致服务中断。
1、查找大于100MB的普通日志文件:
find /var/log -type f -name "*.log" -size +100M -exec ls -lh {} \;
2、对指定大文件(如/var/log/maillog)执行清空(不删除文件节点,仅清内容):
cat /dev/null > /var/log/maillog
3、重复步骤2,处理secure、messages、yum.log等同类大文件。
4、确认清理结果:
du -sh /var/log/*.log | sort -hr | head -5










