欢迎来到博达网站群学习网!
设为首页 | 加入收藏
当前位置: 首页 >> 知识库 >> 部署类 >> 应用服务 >> 正文

关于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的服务;。