问题背景
使用宝塔面板管理网站时,访问日志、错误日志等文件会随时间增长,尤其是在访问量较大的站点中,日志文件可能迅速膨胀至数GB甚至数十GB,导致磁盘空间紧张,影响服务器性能。因此,定期清理过期日志成为运维必备操作。
清理方案
方案一:手动清理(适合临时操作)
通过宝塔面板文件管理器或SSH登录,定位日志目录(通常为 /www/wwwlogs/),删除指定站点的日志文件。
- 登录宝塔面板 → 左侧“文件” → 进入
/www/wwwlogs/ - 找到对应站点日志(如
example.com.log、example.com.error.log),选中后点击删除 - 注意:删除后Nginx会自动重建新日志文件,无需重启服务
方案二:使用cron定时任务自动清理(推荐)
通过Shell脚本配合crontab实现定期删除超过指定天数的日志文件,避免手动干预。
- 创建清理脚本(例如
/root/clean_logs.sh):
#!/bin/bash
find /www/wwwlogs/ -name "*.log" -mtime +7 -exec rm -f {} \;
以上脚本删除7天前(+7)的日志文件,可根据需要调整天数。 - 赋予执行权限:
chmod +x /root/clean_logs.sh - 添加crontab任务(每天凌晨2点执行):
运行 crontab -e,添加一行:
0 2 * * * /root/clean_logs.sh
方案三:结合日志切割功能(减少单个文件大小)
宝塔面板自带日志切割功能(需在站点设置中开启),可每日自动分割日志文件,配合上述清理脚本,安全高效。
- 进入站点设置 → “网站日志” → 开启“日志切割”
- 切割后的日志文件自动命名为
example.com_2025-01-01.log,便于按日期删除
注意事项
- 备份重要日志:如需保留长期访问统计,建议先压缩并转移至其他存储(例如OSS),再执行清理。
- 避免误删:清理脚本建议先测试(去掉
-exec 改为 -print 查看匹配文件),确认无误后正式运行。 - 磁盘监控:配合宝塔面板的磁盘告警,在日志增长异常时及时处理。
结语
通过以上方案,可以有效管理宝塔站点日志文件,释放磁盘空间,保障服务器稳定运行。建议运维人员根据业务重要性和日志保留政策,选择合适的清理周期与方式。