日志切割之logrotate

疑问:今天发现生产服务器的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
}

你可能感兴趣的:(日志切割之logrotate)