最近自己另一个小破站,日访问量破20w,紧随其后的就是nginx日志直接爆炸,5个G的nginx日志,这谁受得了。
打开ChatGPT,一顿猛问,还是有点收货的,我就稍微记录一下,以供日后查看。开淦!
1. 安装Logrotate和Crontab
2. Logrotate配置文件
1 | # /your-project-logrotate-path/your-project.conf |
注意:postrotate
属性配置了docker exec nginx nginx -s reload
是因为在日志分割完成之后,如果不重启nginx,日志还是会继续写入分割之后的access.log-xxxxxxx中。
3. Crontab配置
- 执行
crontab -e
,在配置文件中加入你自己的定时任务0 * * * * logrotate /your-project-logrotate-path/your-project.conf
,保存搞定。
搞定
这样就配置好了,静坐等待日志文件的切割完成。