1. 主配置文件
一般只放一些默认规则,我们自己要定义的轮询日志都写在子配置文件中
查看主配置文件(为了方便去掉注释)
# cat /etc/logrotate.conf |grep -v ^$|grep -v ^#
输出结果如下:
weekly
#保留4份
rotate 4
#轮询后创建新文件
create
#使用日期为后缀 译:ext 表提取
dateext
#是否压缩(注释表不压缩)
compress
# 指定自配置文件
include /etc/logrotate.d
/var/log/wtmp {
monthly
#创建日志的权限控制
create 0664 root utmp
minsize 1M
rotate 1
}
/var/log/btmp {
#丢失不提示
missingok
monthly
create 0600 root utmp
rotate 1
}
2. 子配置文件
一般我们自定义的日志轮询都写在这里
以mongodb为例,创建/etc/logrotate.d/mongo
文件
/data/log/mongo/mongod_s0.log {
weekly
missingok
notifempty
sharedscripts
rotate 4
size 100M
#延迟压缩
delaycompress
create 0664 mongod mongod
# 以下为mongo平滑重启
postrotate
/bin/kill -HUP `cat /var/run/mongodb/mongod_s0.pid 2>/dev/null` 2> /dev/null || true
endscript
}
3. 手动测试
# logrotate -f /etc/logrotate.d/mongo