疑问:今天发现生产服务器的nginx access.log会按天自动切割并压缩,感到奇怪,我并没有跑日志切割的脚本
仔细检查后发现是因为服务器启动了一个日志切割的服务,logrotate
查询资料发现如果是yum方式安装的nginx,系统默认会自动通过logrotate这个日志管理软件,按天进行分割。
查看 logrotate 在服务器中的文件位置
[root@centos7-node1 ~]# rpm -ql logrotate
/etc/cron.daily/logrotate
/etc/logrotate.conf
/etc/logrotate.d
/etc/rwtab.d/logrotate
/usr/sbin/logrotate
/usr/share/doc/logrotate-3.8.6
/usr/share/doc/logrotate-3.8.6/CHANGES
/usr/share/doc/logrotate-3.8.6/COPYING
/usr/share/man/man5/logrotate.conf.5.gz
/usr/share/man/man8/logrotate.8.gz
/var/lib/logrotate
/var/lib/logrotate/logrotate.status
logrotate的配置文件:
/etc/logrotate.conf
/etc/logrotate.d
查看/etc/logrotate.d的文件,有一个Nginx的配置
[root@centos7-node1 logrotate.d]# ls
bootlog chrony nginx syslog wpa_supplicant yum
日志分割是通过如下配置完成的
[root@centos7-node1 logrotate.d]# cat nginx
/var/log/nginx/*.log {
daily
missingok
rotate 52
compress
delaycompress
notifempty
create 640 nginx adm
sharedscripts
postrotate
if [ -f /var/run/nginx.pid ]; then
kill -USR1 `cat /var/run/nginx.pid`
fi
endscript
}