Logrotate实现Catalina.out日志每俩小时切割示例

  

  

Logrotate是一个日志文件管理工具,它是Linux默认自带的一个日志切割工具。用来把旧文件轮转,压缩,删除,并且创建新的日志文件。我们可以根据日志文件的大小,天数等来转储,便于对日志文件管理,一般都是通过cron计划任务来完成的,让日志切割实现按小时分割,按天分割等。

  

  

系统会定时运行logrotate,一般是每天一次。系统是这么实现按天执行的.crontab会每天定时执行/etc/cron.daily目录下的脚本,而这个目录下有个文件叫logrotate。

        #猫/etc/cron.daily/logrotate root@test01 ~   # !/bin/sh/usr/sbin/logrotate - s/var/lib/logrotate/logrotate.地位/etc/logrotate.conf      EXITVALUE=https://www.yisu.com/zixun/$ ?      如果($ EXITVALUE !=0);然后/usr/bin/logger - t logrotate“警惕异常退出(EXITVALUE美元)”   fi   退出0      

实际运行时,Logrotate会调用配置文件/etc/logrotate.conf

  

  

/usr/sbin/logrotate #程序所在位置;

  

/etc/cron。每日/logrotate #默认让Cron每天执行logrotate一次;

  

/etc/logrotate。参看#全局配置文件;

  

/etc/logrotate。d/#应用自个的配置文件存放目录,覆盖全局配置;

  

注意:logrotate。d是一个目录,该目录里的所有文件都会被主动的读入/etc/logrotate.conf中执行。另外,如果/etc/logrotate.d里面的文件中没有设定一些细节,则会以/etc/logrotate.conf这个文件的设定来作为默认值。

  

  

logrotate[选项…)& lt; configfile>
  - d,调试:调试模式,测试配置文件是否有错误。
  - f,力量:强制转储文件。
  - m,邮件=命令:压缩日志后,发送日志到指定邮箱。
  - s,状态=statefile:使用指定的状态文件。
  - v, - verbose:显示转储过程。

  

例如:想强行切割日志文件,不等logrotate切割。

        (root@test01 ~) #/usr/sbin/logrotate vf/etc/logrotate.d/tomcat #我是用来测试用的嘿嘿   注意:CentOS7命令是在/usr/sbin/里。      

  

Logrotate功能的实现,最重要的就是它的配置参数

  

下面介绍下它常用的配置参数:

  

              

压缩         

启用压缩,指的是轮替后的旧日志,这里默认用的是gzip压缩的

              每天

        

每天轮替

              

dateext         

使用当期日期作为命名格式

              

dateformat。% s

        

,配合dateext使用,紧跟在下一行出现,定义文件切割后的文件名,必须配合dateext使用,只支持% Y % m % d % s这四个参数

              

ifempty         

即使日志文件是空的也轮替

              

邮件         

将轮替后的文件发送到指定邮件地址

              

copytruncate         

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

              每月

        

一个月轮替一次

              

nocompress         

如果在logrotate.conf中启用了压缩,这里是做不用压缩的参数

              

nomail         

不发送邮件到任何地址

              

notifempty         

如果日志是空的就不轮替(也就是空日志不切割)

              

olddir +目录

        

轮替后日志文件放入指定的目录,必须和当前日志文件在同一个文件系统

              

旋转+次数

        

轮替最多保留之前的数据几次,超出的将被删除或邮件接收,设为0则不保存

              

尺寸大小         

当日志增长到指定大小的时候开始轮替

              每周

        

如果当前的星期几比上次轮替的星期几少,或者过了一个多星期,就会发生轮替通常是在每周的第一天轮替,如果logrotate不是每天运行的,会在第一次有机会时进行轮替

Logrotate实现Catalina.out日志每俩小时切割示例