杂集:centos7中利用logrotate工具切割tomcat日志

Posted wx62c39d77af33b

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了杂集:centos7中利用logrotate工具切割tomcat日志相关的知识,希望对你有一定的参考价值。

程序在运行的时候为了了解运行状态,会输出日志文件,时间久了日志文件会变得非常大。

1、 logrotate简介:

强大的系统软件,对日志文件有着一套完整的操作模式。

例如:转储

把旧的日志文件删除,并创建新的日志文件。

可以根据日志文件的大小,也可以根据其天数来转储,这个过程一般通过 cron 程序来执行。

默认logrotate加到cron(/etc/cron.daily/logrotate)作为每日任务执行。

通过让用户来配置规则的方式,检测和处理日志文件。

并且可以配合Cron处理定时任务。

预制了大量判断条件和处理方式。

等等。

2、 安装logrotate

sudo yum install -y logrotate

 

3、logrotate组成

/usr/sbin/logrotate程序所在位置。

 

/etc/cron.daily/logrotate 默认让Cron每天执行logrotate一次。

 

/etc/logrotate.conf全局配置文件。

参数解释:

第3行:weekly指定所有的日志文件每周转储一次。

第6行:rotate 4指定转储文件的保留4份。

第9行:create指定logrotate自动建立新的日志文件,新的日志文件具有和

原来的文件一样的权限。

第12行:dateext指定文件后缀是日期格式。

第18行:include选项允许系统管理员把分散到几个文件的转储信息,集中到一个

主要的配置文件。当 logrotate从logrotate.conf读到include 选项时,会从指定文件读入配置信息。

注意:

include 选项十分重要,一些应用把日志转储参数存放在/etc/logrotate.d。

系统管理员也只需要管理/etc/logrotate.conf下面文件就OK了。

如下:我们的tomcat会放在/etc/logrotate.d下面。

 

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

注意:

为了方便管理我们一般把配置文件放在/etc/logrotate.conf下面。

 

3、运行机制:

系统会定时运行logrotate,系统是按天执行的。

crontab会每天定时执行/etc/cron.daily/logrotate脚本。

 

4、配置对catalina.out日志切割文件

注意:

放在/etc/logrotate.d下。

sudo vim /etc/logrotate.d/tomcat

写入:

/home/odysee/General/tomcat8.5/logs/catalina.out

daily

copytruncate

rotate 30

compress

notifempty

dateext

missingok

 

配置文件参数解释:

daily 表示每天整理一次

rotate 5 指定日志文件删除之前转储次数,0没有备份,5保留5个备份

dateext 文件后缀是日期格式

copytruncate 用于还在打开中的日志文件,把当前日志备份并截断

compress 通过gzip压缩转储以后的日志(gzip -d xxx.gz解压)

missingok 如果日志不存在则忽略该警告信息

notifempty 如果是空文件的话,不转储

#size 5M 当catalina.out大于5M就进行切割

5、 测试

One、调试(d = debug)参数为配置文件,不指定则执行全局配置文件

logrotate -d /etc/logrotate.d/tomcat.conf

Two、强制执行(-f = force),可配合-v(-v =verbose)使用,注意调试信息默认携带-v

logrotate -v -f /etc/logrotate.d/tomcat.conf

立即截断日志:

sudo logrotate -v -f /etc/logrotate.d/tomcat

 

每天自动帮我们分隔日志并进行打包。

欢迎大家给予宝贵的意见或者建议。

欢迎大家补充或者共享一些其他的方法。

感谢支持。



 



以上是关于杂集:centos7中利用logrotate工具切割tomcat日志的主要内容,如果未能解决你的问题,请参考以下文章

logrotate自定义切割时间的一些坑

利用Linux自带的logrotate管理日志

shell 杂集

Linux自带 Logrotate 日志切割工具配置详解

日志管理工具-logrotate

logrotate日志管理工具