catalina.out文件过大的问题

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/GX_1_11_real/article/details/80204475

前言

有用Tomcat的人,绝对都会遇到这样一个问题:catalina.out文件过大。

它是Tomcat默认生成的日志文件,会随着时间的推移,逐渐增大,不断的增长,甚至达到几G,几十G的大小。由于文件过大,不仅占系统的存储,我们还将无法使用过常规的编辑工具进行查看,严重影响系统的维护工作。

对此,出现了以下几种解决catalina.out文件过大的方案。


简洁型


1.手动版
每次监控到tomcat的硬盘空间变小达到阈值,手动登陆服务器,切换到tomcat的logs下,手动清空

echo " "  > catalina.out

   
   
  • 1

2.脚本版
编写脚本,放入计划任务中,定时清空

crontab -e 
0 24 * * *    sh /root/qin_catalina.out.sh

vim qin_catalina.out.sh
#!/usr/bin/bash
echo " " > catalina.out

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

技术型


1.日志切割工具版0.1

使用cronolog日志切分工具切分Tomcat的catalina.out日志文件

<1>下载cronolog,并进行安装

wget http://cronolog.org/download/cronolog-1.6.2.tar.gz   (中国服务器可能无法下载或下载缓慢,可先下载到境外服务器上)

tar zxvf cronolog-1.6.2.tar.gz

./cronolog-1.6.2/configure

make

make install

(默认安装在/usr/local/sbin下)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

<2>.配置

在tomcat/bin/catalian.sh中

org.apache.catalina.startup.Bootstrap "$@" start \ >> "$CATALINA_BASE"/logs/catalina.out 2&1 &

改成:
org.apache.catalina.startup.Bootstrap" @ &quot; s t a r t   ∣ / u s r / l o c a l / s b i n / c r o n o l o g &quot; @&quot; start \ |/usr/local/sbin/cronolog &quot; @"start /usr/local/sbin/cronolog"CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null 2>&1 &

org.apache.catalina.startup.Bootstrap “KaTeX parse error: Expected 'EOF', got '&' at position 13: @" start 2&̲gt;&amp;1 \ …CATALINA_BASE”/logs/catalina.%Y-%m-%d.out >> /dev/null &

并注释 touch “$CATALINA_OUT”

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

<3>重启Tomcat
Tomcat输出日志文件分割成功,输出log文件格式变为:catalina.2017-05-15.out


1.日志切割工具版0.2

CentOS6.5后自带logrotate程序,可以解决catalina.out的日志轮转问题

<1>在/etc/logrotate.d/目录下新建一个tomcat的文件

cat >/etc/logrotate.d/tomcat 

/usr/local/tomcat/logs/catalina.out{ 要轮转的文件
copytruncate 创建新的catalina.out副本,截断源catalina.out文件
daily 每天进行catalina.out文件的轮转
rotate 7 至多保留7个副本
missingok 文件丢失了,轮转不报错
compress 使用压缩
size 16M 当catalina.out文件大于16MB,就轮转
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

<2>当执行以上操作时是自动执行的,也可手动切割

logrotate /etc/logrotate.conf

 
 
  • 1

如果只轮转tomcat配置文件,要指定文件

logrotate --force /etc/logrotate.d/tomcat

 
 
  • 1

<3>删除要清理的日志

手工查找需要清理的日志文件

cd /usr/local/tomcat/logs
rm -rf catalina.out.4.gz

 
 
  • 1
  • 2

2.日志切割脚本版

使用cron每天来定时备份当前的catalina.out,然后清空他的内容;
<1>crontab -e

30 * * * *  sh /root/qie_catalina.out.sh

 
 
  • 1

<2>cat qie_catalina.out.sh 参考脚本

 #!/bin/bash 
 y=`date "+%Y"`
 m=`date "+%m"`
 d=`date "+%d"`

cp /etc/tomcat/logs/catalina.out /etc/tomcat/logs/catalina.out.$y_$m_$d

echo " " > catalina.out

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

3.修改日志级别版

日志级别:
SEVERE (highest value) > WARNING > INFO > CONFIG > FINE > FINER > FINEST (lowest value)

<1>修改conf/logging.properties日志配置文件,将level级别设置成WARNING减少日志的输出。也可以设置成OFF,直接禁用。

catalina.org.apache.juli.FileHandler.level = WARNING

catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs

catalina.org.apache.juli.FileHandler.prefix = catalina.

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
                                </div>
            <link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-e44c3c0e64.css" rel="stylesheet">
                </div>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值