如何设置宝塔定时清理日志?
美国、香港服务器
如何设置宝塔定时清理日志?
09-30 来源:
## 方案 1:日志切割(网站 Nginx/Apache 访问日志,首选)
1. 宝塔左侧菜单:**计划任务** → **添加任务**
2. 任务类型:**日志切割**
3. 任务名称:网站日志切割
4. 执行周期:**每天 00:00**
5. 切割网站:选择全部网站或者指定站点
6. **保留份数:7 份**(高防机建议只保留 7 天,不要 180 天,防止占满磁盘)
7. 压缩:可选关闭(节省 CPU)
8. 提交保存
作用:每天自动分割网站访问日志,超过 7 天自动删除旧日志,不会一次性堆积超大 log 文件宝塔面板
## 方案 2:自定义计划任务(清理 WAF、PHP、系统日志,高防必备)
计划任务 → 添加任务
- 任务类型:Shell 脚本
- 任务名称:定时清理过期日志
- 执行周期:每天凌晨 01:00 执行
粘贴下面脚本(适合美国高防,清理网站日志、WAF 防火墙日志、PHP 会话)
#清理7天前网站日志
find /www/wwwlogs -name "*.log" -mtime +7 -delete
#清理宝塔WAF防护日志(CC攻击最容易爆这里!)
find /www/server/btwaf/totla_db/http_log -type f -mtime +3 -delete
#清理PHP session临时文件
find /tmp -name "sess_*" -mtime +1 -delete
#清理系统旧日志
find /var/log -name "*.log" -mtime +7 -delete
#清理宝塔面板运行日志
find /www/server/panel/logs -name "*.log" -mtime +7 -delete
参数说明:`-mtime +7` = 删除 7 天之前文件;WAF 日志增长极快,设置保留 3 天
提交后,点**执行**测试一次,然后看任务日志,确认执行成功。
## 配套优化(高防服务器重点)
1. 网站设置:站点 → 设置,**可取消勾选【记录访问日志】**,直接不生成访问日志(不需要分析访问数据时,强烈推荐,根治日志暴涨)
2. 备份设置:**关闭本地备份**,备份放到远程存储,不要占用本机磁盘
3. MySQL 日志:关闭 mysql-bin 二进制日志(业务不重要的网站)
#查看binlog状态
find /www/server/mysql -name "mysql-bin.*"
## 磁盘告警脚本(可选,磁盘超过 80% 发提醒)
新增一条 Shell 计划任务,每 30 分钟检测磁盘:
used=$(df -h / | awk "NR==2{print $5}" | sed "s/%//")
if [ $used -ge 80 ];then
echo "根分区使用率超过80%!"
fi
## Windows 宝塔定时清理
1. 宝塔面板计划任务,添加 Shell/PowerShell 任务
2. 清理目录:`C:\BtSoft\WebLog`、WAF 日志目录
3. PowerShell 清理示例:
#删除7天前日志
Get-ChildItem C:\BtSoft\WebLog -Recurse -Filter *.log | Where-Object {$_.LastWriteTime -lt (Get-Date).AddDays(-7)} | Remove-Item
三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快