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