上一篇 下一篇 分享链接 返回 返回顶部

Nginx访问日志定时清理 节省磁盘空间

发布人: 发布时间:24小时前 阅读量:7

Nginx日志增长的隐患

Nginx默认将所有访问记录写入access.log,持续写入会占用大量磁盘空间。若不及时清理,可能触发磁盘告警,严重时导致服务异常。

方案一:使用Logrotate自动轮转

Logrotate是Linux下优秀的日志管理工具,可对Nginx日志进行轮转、压缩和删除。

配置步骤

  1. 在/etc/logrotate.d/下创建nginx配置文件
  2. 指定日志路径、轮转周期、保留份数
  3. 使用compress参数压缩旧日志,节省空间
  4. 设置postrotate命令让Nginx重新打开日志文件

常用参数

  • daily:每天轮转一次
  • rotate 30:保留最近30份日志
  • compress:启用gzip压缩
  • missingok:日志缺失时忽略

方案二:通过Cron脚本清理

对于简单场景,可编写脚本并使用Crontab定时执行。

示例:find /var/log/nginx -name 'access.log*' -mtime +30 -delete

该命令删除30天前的日志文件,适合批量清理。

运维建议

  • 定期检查磁盘占用,及时调整保留策略
  • 确保脚本有执行权限,并在crontab中正确配置
  • 可使用logrotate -d进行预演,避免误删
目录结构
全文
企业微信 企业微信
微信公众号 微信公众号
服务热线: 400-790-1688
电子邮箱: 3310008520@qq.com