logrotate命令

logrotate是linux系统中用来简化系统日志管理的工具,在系统运行过程中会产生大量日志,可以使用该工具来对日志进行管理。logrotate能够自动对日志文件进行轮询、压缩、移除和发送邮件,所有的操作可以在固定的时间间隔如每天、每周、每月执行,也可以在日志文件增长超过一定大小后执行。

默认情况下,logrotate是以daily cron的方式运行的,因此一天内只能够执行一次操作,除非log的修改是基于文件大小并且logrotate能够在一天内执行多次,或者使用-f参数进行强制执行。

一、参数

logrotate支持如下参数:

-f:强制执行轮询,即使是不必要的,一般在配置文件修改的时候需要执行一次。

二、配置文件

logrotate配置文件在/etc/logrotate.conf和/etc/logrotate.d目录中。/etc/logrotate.d目录中的所有文件都会被读取到/etc/logrotate.conf文件中。

logrotate是被cron.daily每天执行的

logrotate.conf文件内容如下

其中写入的参数和支持的参数:

weekly:设置为每周执行一次rotate轮转

rotate:保留多少个轮转文件

create:当进行轮转的时候,自动创建一个新的文件,新文件和原始文件具有相同的权限,用于对后续日志的记录

dateext:以时间作为轮转文件的后缀

compress:以gzip压缩文件的方式存储轮转文件

上述是默认的配置,在/etc/logrotate.d/目录中的其他配置文件可以添加各自的配置项,一般常用的配置项还有:

daily:设置为每天执行一次rotate轮转

monthly:设置为每月执行一次rotate轮转

nocompress:轮转的日志文件不进行压缩

prerotate:在进行轮转之前需要执行的操作,可以在后面一行写shell命令

postrotate:在进行轮转之后需要执行的操作,可以在后面一行写shell命令

dateformat:用于指定后缀格式,需要配合dateext使用,只支持%Y %m %d %s

size:用于控制日志文件大小,不管轮转周期是否到了,只要logrotate被触发执行了,并且日志文件大小大于size,就会触发轮转,并且只有当文件大于size大小的时候才会进行轮转。设置了size之后滚动周期参数将会无效

maxsize:用于控制日志文件大小,不管轮转周期是否到了,只要logrotate被触发执行了,并且日志文件大小大于maxsize,就会触发轮转,如果滚动周期到了,但是文件大小没有大于maxsize,还是会触发一次轮转。

minsize:用于控制日志文件大小,不管轮转周期是否到了,只要logrotate被触发执行了,并且日志文件大小大于minsize,那么就会触发轮转,但是在这个轮转周期内只会触发一次,在当前轮转周期剩余的时间里即使日志文件大于了minsize,也不会再次触发轮转了,这与maxsize不同,maxsize是在一个轮转周期内如果继续大于maxsize则还会进行轮转。如果一个周期内日志文件大小没有大于minsize,则不会发生轮转。

logrotate的状态信息通常保存在/var/lib/logrotate/logrotate.status文件中。这个文件记录了logrotate对各个日志文件执行轮转的详细信息,包括轮转的时间、是否压缩、是否轮转以及轮转的次数等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

aolitianya

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

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

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

打赏作者

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

抵扣说明:

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

余额充值