大连集群智慧传媒有限公司
相关栏目







关于Linux下tomcat的catalina.out文件过大问题 Script business

关于Linux下tomcat的catalina.out文件过大问题

2016-08-03 00:00

关于Linux下tomcat的catalina.out文件过大问题

2016-08-03    

现象

Linuxtomcatcatalina.out文件过大。

原因

尽管也生成了日志文件catalina.2009-0x-0x.log类型的文件,但是其中的catalina.out文件依然增大。

解决方法

方法1—分割流:

使用cronolog工具切分Tomcatcatalina.out日志文件,cronolog一个对日志切分的小工具,其主页在httpcronolog.org,我们也可以用它来切分Apache的日志。

方法2—脚本流:

使用cron每天来备份当前的catalina.out,然后清空他的内容;

参考脚本如下:

#!binsh

y=`date +%Y`

m=`date +%m`

d=`date +%d`

cd PATH tomcatlogs

cp catalina.out catalina.out.$y$m$d4

echo  catalina.out

exit

注意linux系统的cron服务是否启动,是否正常工作,还有脚本的存放路径。

方法3—猥琐流

打开bin目录下的catalina.sh文件,终究不过是个bash文件,查找一下,catalina.out总共出现三;部分截图:

shift

touch $CATALINA_BASElogscatalina.out

if [ $1 = -security ] ; then

   echo Using Security Manager

   shift

   $_RUNJAVA $JAVA_OPTS $LOGGING_CONFIG $CATALINA_OPTS

     -Djava.endorsed.dirs=$JAVA_ENDORSED_DIRS -classpath $CLASSPATH

     -Djava.security.manager

     -Djava.security.policy==$CATALINA_BASEconfcatalina.policy

     -Dcatalina.base=$CATALINA_BASE

     -Dcatalina.home=$CATALINA_HOME

     -Djava.io.tmpdir=$CATALINA_TMPDIR

     org.apache.catalina.startup.Bootstrap $@ start

      $CATALINA_BASElogscatalina.out 2&1 &

     if [ ! -z $CATALINA_PID ]; then

       echo $!  $CATALINA_PID

     fi

else

   $_RUNJAVA $JAVA_OPTS $LOGGING_CONFIG $CATALINA_OPTS

     -Djava.endorsed.dirs=$JAVA_ENDORSED_DIRS -classpath $CLASSPATH

     -Dcatalina.base=$CATALINA_BASE

     -Dcatalina.home=$CATALINA_HOME

     -Djava.io.tmpdir=$CATALINA_TMPDIR

     org.apache.catalina.startup.Bootstrap $@ start

      $CATALINA_BASElogscatalina.out 2&1 &

修改前注意原文件的catalina.sh的备份哟~!!

修改以上代码中的

$CATALINA_BASElogscatalina.out 2&1 &

devnull 2&1 &

保存,然后启动tomcat,目前这个 catalina.out一直是空的了。

这个方法个人认为比较勇敢,目前还没有在生产环境测试过。虚拟机测试是通过的。

方法4—人流

这个方法其实就是linux系统管理员手工去删除,人工操作,简称“人流”;

删除之前最好停止tomcat的服务;。

大连集群智慧传媒有限公司 关注微信
159-9855-7370
173-0411-9111
0411-83767788
543646
543646@QQ.com