1. 安装

一般默认就有安装,查看下目录/etc/logrotate.d

没安装使用yum安装 yum install logrotate crontabs

2. 配置

默认配置

/var/log/nginx/*log {
		su root root
		create 0644 nginx nginx  #以指定的权限创建全新的日志文件,同时logrotate也会重命名原始日志文件
		daily  # weekly,yearly,monthly
		rotate 10  #一次将存储10个归档日志。对于第11个归档,时间最久的归档将被删除。
		missingok  #在日志轮循期间,任何错误将被忽略,例如“文件无法找到”之类的错误
		notifempty #如果日志文件为空,轮循不会进行
		compress  #在轮循任务完成后,已轮循的归档将使用gzip进行压缩
		sharedscripts  #在所有的日志文件都轮转完毕后统一执行一次脚本。如果没有配置这条指令,那么每个日志文件轮转完毕后都会执行一次脚本
		postrotate  #在所有其它指令完成后,postrotate和endscript里面指定的命令将被执行。在这种情况下,rsyslogd 进程将立即再次读取其配置并继续运行
				/bin/kill -USR1 `cat /run/nginx.pid 2>/dev/null` 2>/dev/null || true
		endscript
}

3. 使用

单个配置执行

logrotate /etc/logrotate.d/nginx

全部执行

logrotate /etc/logrotate.conf

强制执行

logrotate -f /etc/logrotate.conf

模拟执行

logrotate -d /etc/logrotate.conf