宝塔部署定时任务磁盘满自动清理日志脚本

服务器运行时间越长,网站日志、面板日志和各类应用日志就越占空间,很多磁盘满问题其实都是日志堆积造成的。
本文面向零基础用户,教你在宝塔面板中部署一个定时任务,通过脚本自动清理旧日志,让磁盘保持充裕。
整篇覆盖准备、写脚本、配置计划任务、避坑和验证,操作完基本不用再手动清日志。

动手前先确认磁盘和日志位置

登录宝塔面板后,先确认磁盘压力来自哪里。
左侧菜单打开“监控”或“终端”,执行下面两个命令:

df -h | grep -E '^/|文件系统'
du -sh /www/wwwlogs /var/log 2>/dev/null

第一条看根分区使用率,第二条看常见日志目录大小。
如果你的网站日志在 /www/wwwlogs,那就以这个目录为例;
如果用的其他路径,后面脚本里的路径替换即可。

编写每分钟或每日清理脚本

推荐用 find 按时间删除日志,既准确又不会误伤正在写入的文件。
在终端执行以下命令创建脚本:

mkdir -p /www/backup/cleanup
cat > /www/backup/cleanup/clean_logs.sh <<'EOF'
#!/bin/bash
LOG_DIR="/www/wwwlogs"
KEEP_DAYS=7
find "$LOG_DIR" -name "*.log" -type f -mtime +$KEEP_DAYS -delete
rm -f /www/server/panel/logs/request/*.log 2>/dev/null
EOF
chmod +x /www/backup/cleanup/clean_logs.sh

这段脚本做的事情很清晰:
找到日志目录下 7 天前修改的 .log 文件并删除,
同时清理宝塔面板自身的请求日志。KEEP_DAYS 按你的备份习惯调整,
如果日志需要留 30 天,
改成 30 即可。

在宝塔面板添加定时任务

宝塔超级工具里的“计划任务”功能可以直接管理 shell 脚本。
操作路径如下:

  1. 打开宝塔左侧菜单的“计划任务”。
  2. 点击“添加任务”,“任务类型”选 Shell脚本
  3. “任务名称”写 自动清理日志防磁盘满
  4. “执行周期”建议选每天凌晨 3 点,或按小时执行(适合日志增长快的服务器)。
  5. 把下面这行命令粘贴到“脚本内容”:
bash /www/backup/cleanup/clean_logs.sh >> /www/backup/cleanup/cleanup.log 2>&1
  1. 点击“添加任务”保存,然后点任务右侧的“执行”按钮测试一次。

如果执行后没有报错,任务就配置成功了。

避坑:别删活动日志和做权限收缩

新手最容易踩的坑有三个:

第一,不要用 rm -rf * 清理日志。 这会把正在写入的日志文件也删掉,导致 Nginx 或 PHP 进程失去文件句柄,出现“No such file or directory”报错,甚至需要重启服务才能恢复。
find -delete 就不会碰正在使用的文件。

第二,注意日志文件扩展名。 如果你的日志按日期切分,比如 access.log-20250101,扩展名不是 .log,上面的脚本就扫不到。
这时把 -name "*.log" 改成:

find "$LOG_DIR" -type f \( -name "*.log" -o -name "*.log-*" \) -mtime +$KEEP_DAYS -delete

第三,脚本权限不能过高。 以 root 运行没问题,但如果服务器上还有别的用户,建议先 ls -l 检查脚本属主,确保只有 root 可写,避免被篡改。

验证磁盘清理效果

配置完成后,建议等两天再确认效果。
手动验证方法:

df -h / && ls -la /www/wwwlogs/ | head -20

观察根分区使用率是否下降,日志目录列表里是否只剩 7 天以内的文件。
如果定时任务执行了但没删干净,先看刚才设置的清理日志:

cat /www/backup/cleanup/cleanup.log

里面会出现 find: '/www/wwwlogs':没有那个文件或目录 这类报错,说明路径写错了,修正脚本里的 LOG_DIR 即可。

要是你用的是云服务器,磁盘满了还会连带影响 MySQL、FTP 这些服务,建议顺带装上宝塔面板的“磁盘监控”告警,当使用率超过 80% 时自动通知你。
这样日志清理脚本加上告警,磁盘问题就能提早发现、及时解决。
如果你正在处理磁盘满问题,先按本文跑通自动清理,再根据实际日志增长频率调整清理周期,就能长期保持磁盘健康。

分享到:
上一篇
服务器频繁OOM报错swap分区扩容根治完整脚本
下一篇
多语言外贸站点Nginx完整多域名隔离配置教程
1
系统公告

机房迁移升级通知

尊敬的用户: IP 段 103.23.148.x、156.224.29.x 原香港一区线路波动、攻击频繁,平台定于 7 月 5 日凌晨分批迁移至香港 GIA 机房,硬件升级 AMD 铂金机型。 迁移均在凌晨操作,最大程度降低业务影响,迁移期间服务器临时关机; 升级后配置不降低、费用不涨价,数据默认同步迁移; 迁移后 IP 全部更换,请及时修改域名解析、防火墙白名单; 建议提前备份重要数据,有问题可联系在线客服。 感谢理解与支持! 泽御云科技 2026.06.30
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意