Nginx日志切割
01.安装配置logrotate:
- yum install logrotate,安装logrotate。
- vim /etc/logrotate.d/nginx,编辑一个nginx的日志切割文件,添加如下内容:
/opt/Apps/nginx/logs/*log {
daily
rotate 10
dateext
missingok
notifempty
compress
delaycompress
create 640 nginx adm
sharedscripts
postrotate
[ -f /opt/Apps/nginx/nginx.pid ] && /bin/kill -USR1 $(cat /opt/Apps/nginx/nginx.pid 2>/dev/null) 2>/dev/null || :
endscript
}
- /opt/Apps/nginx/logs,nginx日志的存储目录。
- daily,日志切割的时间间隔,有以下几种配置:
- daily,日志文件将按天轮循。
- weekly,日志文件将按周轮循。
- monthly,日志文件将按月轮循。
- rotate ,存储多少个日志文件,对于超出的日志文件,时间最久的那个日志文件将被删除。
- dateext,定义日志文件后缀为日期格式,比如nginx.log-20190707.gz。
- 如果该参数被注释掉,切割出来是按数字递增,比如nginx.log-1.gz。
- missingok,在日志轮循期间,任何错误将被忽略,例如“文件无法找到”之类的错误。
- notifempty:如果是空文件的话,不进行切割。
- compress,在轮循任务完成后,已轮循的归档将使用gzip进行压缩。
- delaycompress,指示logrotate不要将最近的归档压缩,压缩将在下一次轮循周期进行。
- create 640 nginx adm,以指定的权限和用书属性,创建全新的日志文件,同时logrotate也会重命名原始日志文件。
- postrotate/endscript,在所有其它指令完成后,postrotate和endscript里面指定的命令将被执行。
- postrotate和endscrip这两个关键字必须单独成行。
- 执行以下命令测试logrotate是否正常工作:
logrotate -vf /etc/logrotate.d/nginx
- logrotate不需要额外配置计划任务。
文档更新时间: 2020-03-12 19:13 作者:闻骏