由于tomcat默认的日志文件不会启动分割,catalina.out文件的不断扩大,导致系统磁盘空间边变小,而且管理也难于管理,所以想用一种工具来分割它。为了管理的方便性,分割日志使每天的日志保存成单个文件,方便日志管理。本文使用cronolog工具。
安装过程如下:
1.下载(最新版本)
# wgethttp://cronolog.org/download/cronolog-1.6.2.tar.gz
2、解压缩
# tar zxvfcronolog-1.6.2.tar.gz
3、进入cronolog安装文件所在目录
# cd cronolog-1.6.2
4、运行安装
# ./configure
# make
# make install
5、查看cronolog安装后所在目录(验证安装是否成功)
# which cronolog
一般情况下显示为:/usr/local/sbin/cronolog
要想分割tomcat的catalina.out,需作如下工作:
修改tomcat bin目录下的catalina.sh文件中的
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进入到日志目录看是否切割成功。
如下,更改为红色部分。
shift
touch "$CATALINA_OUT"
if [ "$1" = "-security" ] ; then
if [ $have_tty -eq 1 ]; then
echo "Using Security Manager"
fi
shift
eval \"$_RUNJAVA\" \"$LOGGING_CONFIG\" $JAVA_OPTS$CATALINA_OPTS \
-Djava.endorsed.dirs=\"$JAVA_ENDORSED_DIRS\" -classpath\"$CLASSPATH\" \
-Djava.security.manager \
-Djava.security.policy==\"$CATALINA_BASE/conf/catalina.policy\"\
-Dcatalina.base=\"$CATALINA_BASE\" \
-Dcatalina.home=\"$CATALINA_HOME\" \
-Djava.io.tmpdir=\"$CATALINA_TMPDIR\" \
org.apache.catalina.startup.Bootstrap "$@" start \
2>&1 |/usr/local/sbin/cronolog"$CATALINA_BASE/logs/catalina.%Y-%m-%d.out" &
# >>"$CATALINA_OUT" 2>&1 "&"
else
eval \"$_RUNJAVA\" \"$LOGGING_CONFIG\" $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 \
2>&1|/usr/local/sbin/cronolog "$CATALINA_BASE/logs/catalina.%Y-%m-%d.out"&
# >> "$CATALINA_OUT" 2>&1 "&"
fi