最近将一个项目发布到linux上,运行一段时间后,突然发现catalina.out这个文件已经达到119G了,占用了大量的磁盘空间,为解决这个问题,在 ITEYE 上搜索了大量的解决方法,最后终于解决问题,现记录如下:
1、下载cronolog-1.6.2,网址 http://cronolog.org/
2、在linux安装cronolog,安装步骤如下:
a、解压缩 tar zxvf cronolog-1.6.2.tar.gz
b、进入cronolog安装文件所在目录
c、cd cronolog-1.6.2
d、运行安装
# ./configure
# make
# make install
e、查看cronolog安装后所在目录(验证安装是否成功)
# which cronolog
一般情况下显示为:/usr/local/sbin/cronolog
3、修改Tomcat配置
进入Tomcat的bin目录,打开catalina.sh文件,找到tomcat启动的相关行,或者你
直接查找catalina.out,一般我们修改下面行中的内容
else
“$_RUNJAVA” $JAVA_OPTS $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_BASE”/logs/catalina.out 2>&1 &
if [ ! -z "$CATALINA_PID" ]; then
echo $! > $CATALINA_PID
fi
fi
修改
org.apache.catalina.startup.Bootstrap “$@” start \
>> “$CATALINA_BASE”/logs/catalina.out 2>&1 &
为
org.apache.catalina.startup.Bootstrap “$@” start 2>&1 \
| /usr/local/sbin/cronolog “$CATALINA_BASE”/logs/catalina.%Y-%m-%d.out >> /dev/null &
同时,上面有一行
touch “$CATALINA_BASE”/logs/catalina.out
可以注释掉,完成之后重起Tomcat就可以了,在logs目录下可以看到catalina.2009-02-18.out的日志,是按日生成的。