Linux下Tomcat的catalina.out文件自动归档

来源:互联网 发布:python array 加一列 编辑:程序博客网 时间:2024/06/05 19:31
        随时业务增长,Tomcat下catalina.out日志文件会变得越来越大,导致排查日志或者进行日志备份相当困难。

为了解决这一问题,可以将catalina.out文件按天进行归档,我们可以按照下面的方法进行相应配置:


1、执行如下命令

vi /etc/logrotate.d/tomcat

2、tomcat文件输入以下内容并保存

/app/tomcat/service9001/logs/catalina.out { copytruncate daily dateext nocompress missingok} 

3、执行如下命令

/usr/sbin/logrotate -f /etc/logrotate.conf  

完成以上三步,即可实现catalina.out文件按天进行归档!!


另附 logrotate 的参数配置说明

参数说明compress启用压缩,指的是轮替后的旧日志,这里默认用的是gzip压缩的compressoptions以gzip -9的模式压缩uncompresscmd解压日志,默认是gunzipdaily每天轮替选项dateext轮替的日志文件会附加上一个短横线和YYYYMMDD格式的时间戳delaycompress将以前的日志文件压缩推迟到下一次轮替ifempty即使日志文件是空的也轮替mail将轮替后的文件发送到指定E-mail地址copytruncate用于还在打开中的日志文件,把当前日志备份并截断,开始轮替mailfirst/maillast向邮件发送轮替文件/轮替后历史文件(默认)monthly一个月轮替一次nocompress如果在logrotate.conf中启用了压缩,这里是做不用压缩的参数nomail不发送邮件到任何地址ifempty如果日志时空的就不轮替olddir directory轮替后日志文件放入指定的目录,必须和当前日志文件在同一个文件系统postrotate/endscript在做完轮替后的命令,两个关键字必须单独成行,使用的操作在2者之间相当于分组“{}”,注意的使用外部指令时要用绝对路径prerotate/endscript在做轮替前的命令,同上rotate count轮替最多保留之前的数据几次,超出的将被删除或邮件接收,设为0则不保存size size当日志增长到指定大小的时候开始轮替,它不会考虑start count轮替文件名基于这个数字。例如,指定0时,原日志文件轮替的备份文件以.0为扩展名,如果指定9,就直接从9开始跳过0-8,然后再继续向后轮替rotate指定的次数。weekly如果当前的星期几比上次轮替的星期几少,或者过了一个多星期,就会发生轮替通常是在每周的第一天轮替,如果logrotate不是每天运行的,会在第一次有机会时进行轮替。yearly如果当前年份不同于上次轮替的年份,则进行日志轮替create mode owner group在轮替动作之后,postrotate脚本执行之前,立即使用刚轮替的日志文件名创建日志文件。MODE 指定日志文件的权限(0660之类);OWNER 指定日志文件的属主; GROUP 指定日志文件的属组extension ext日志文件可在轮替后使用指定的EXT扩展名。如果使用压缩,通常EXT后还会加上压缩文件的扩展名,通常是.gz。例如想把mylog.foo轮转为mylog.1.foo.gz而不是mylog.foo.1.gz


原创粉丝点击