linux logrotate配置文件详解

本文详细解析了Linux系统的logrotate配置文件,包括全局配置文件 `/etc/logrotate.conf` 的内容,如每周旋转日志、保留4周的备份等。此外,还介绍了针对特定日志文件如 `/var/log/wtmp` 和 `/var/log/btmp` 的配置,包括转储频率、创建新文件的权限和属主,以及最小转储大小等参数。同时,文章涵盖了logrotate配置文件中的一些常见参数及其作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.logrotate配置文件详解

linux logrotate基于crond服务(定时任务)来运行的,默认全局配置文件为:/etc/logrotate.conf。

全局配置文件解释(/etc/logrotate.conf)

[root@rhel77 log]# cat /etc/logrotate.conf 
# see "man logrotate" for details
# rotate log files weekly
weekly

# keep 4 weeks worth of backlogs
rotate 4

# create new (empty) log files after rotating old ones
create

# use date as a suffix of the rotated file
dateext

# uncomment this if you want your log files compressed
#compress

# RPM packages drop log rotation information into this directory
include /etc/logrotate.d

# no packages own wtmp and btmp -- we'll rotate them here
/var/log/wtmp {
    monthly
    create 0664 root utmp
	minsize 1M
    rotate 1
}

/var/log/btmp {
    missingok
    monthly
    create 0600 root utmp
    rotate 1
}

# system-specific logs may be also be configured here.

[root@rhel77 log]# cat /etc/logrotate.conf 
# see "man logrotate" for details
# rotate log files weekly
weekly          #所有的日志文件,每周滚动转储一次

# keep 4 weeks worth of backlogs
rotate 4         #日志发送滚动转储后,指定备份日志文件保存多少个(权限不变)

# create new (empty) log files after rotating old ones
create           #是否创建一个空的新的日志文件

# use date as a suffix of the rotated file
dateext        #指定转储文件的后缀是当前日期

# uncomment this if you want your log files compressed
#compress  #是否对转储后的日志进行压缩

# RPM packages drop log rotation information into this directory
include /etc/logrotate.d   #logrotate子配置文件路径

# no packages own wtmp and btmp -- we'll rotate them here
/var/log/wtmp {      #转储日志路径
    monthly             #一个月转储一次
    create 0664 root utmp   #指定转储后创建新文件,权限为664,用户为root,属组为utmp
    minsize 1M       #指定日志轮替的最小值,也就是日志一定要达到这个最小值(1M)才会轮替,否则就算时间达到也不轮替
    rotate 1            #指定保留几个备份副本,其会覆盖定义的全局变量
}

/var/log/btmp {    #转储日志路径
    missingok       #当日志文件不存在时,忽略该日志文件的警告信息
    monthly          #一个月转储一次
    create 0600 root utmp  #指定转储后创建新文件,权限为600,用户为root,属组为utmp
    rotate 1          #指定保留几个备份副本,其会覆盖定义的全局变量
}

# system-specific logs may be also be configured here.

2.logrotate配置文件常用相关参数解释

logrotate配置文件参数解释

logrotate配置文件参数
参数说明
hourly每时轮替
daily每天轮替
weekly每周轮替
monthly每月轮替
rotate <number>保留的日志个数
create mode owner group新建日志,并规定日志文件的权限、所有者、所属组
nocreate不建立新的日志文件
copytruncate

用于还在打开中的日志文件,把当前日志备份并截断;是先拷贝再清空的方式,拷贝和清空之间有一个时间差,可能会丢失部分日志数据

nocopytruncate备份日志文件,不过不截断
mail EmailAddress

当日志轮替时,输出内容通过邮件地址发送到指定的Email地址

errors EmailAddress

存储时的错误信息发送到指定的Email地址

nomail

转储时不发送日志文件

compress

压缩日志文件的所有非当前版本

delaycompress

压缩除了当前和下一个最近的所有版本

nodelaycompress

覆盖delaycompress选项,转储同时压缩

olddir "dir"

指定日志文件的旧版本放在“dir”中

noolddir

转储后的日志文件和当前日志文件放在同一个目录下

missingok

当日志文件不存在时,忽略该日志文件的警告信息

ifempty

即使日志文件为空文件也做轮转,这个是logrotate的缺省选项

notifempty如果日志为空文件,则不进行日志轮替
minsize

日志轮替的最小值,也就是日志一定要达到这个最小值才会轮替,否则就算时间达到也不轮替

size日志只有达到指定大小才轮替,不按照时间轮替
dateext

使用日期作为轮替文件后缀

dateformat -%Y%m%d-%H对日期格式进行定制;必须配合dateext使用,只支持 %Y %m %d %s 这四个参数
dateyesterday

如果定时任务时间设置的是0点执行,就要配置此项,不然切割的内容是昨天的,但是日志名却是当天的

sharedscripts该关键字后的脚本只执行一次
prerotate/endscript

在日志轮替之前执行脚本命令

postrotate/endscript

在日志轮替之后执行脚本命令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小黑要上天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值