介绍

随着时间的增长和业务的扩张,对于忙碌的服务器来说,日志文件的大小会增长极快,服务器会很快消耗磁盘空间,而且系统人员查看单个庞大的文件也及其困难。
logrotate是一个日志管理工具,它可以对日志进行切割、轮替、压缩等。

配置文件介绍

1)/etc/logrotate.conf
logrotate主要配置文件
2)/etc/logrotate.d
是个目录,我们可以将自己需要滚动的日志配置放到这个下面
3)/var/lib/logrotate/logrotate.status
记录logrotate滚动状态的信息

配置文件说明

配置参数 说明
monthly 指定日志按月轮替,可选”daily”,”weekly”,”yearly”
rotate 5 一次将存储5个归档日志,当出现第6个日志,删除时间最久的归档日志
compress 在轮替完成后,将以轮替的归档日志进行压缩
delaycompress 经常与compress一起使用,delaycompress指示logrotate不要将最近的归档压缩,压缩将在下一次轮替周期进行
missingok 日志轮替期间,任何错误都被忽略
notifempty 如果日志为空,轮替不进行
create 644 root root 指定新创建日志的权限,同时logrotate也会重命名原始文件
postrotate/endscript 在所有指令完成后,postrotate和endscript里面指定的命令将被执行

对redis日志进行切割、轮替

vim /etc/logrotate.d/redis

/usr/local/src/redis-5.0.3/logs/redis.log {
rotate 5
create
daily
dateext
postrotate
/bin/kill -HUP `cat /var/run/redis_6379.pid`
endscript
}
#手动强制切割
logrotate -v -f /etc/logrotate.d/redis