由于tomcat默认的日志文件不会启动分割,catalina.out文件的不断扩大,导致系统磁盘空间边变小,而且管理也难于管理,所以想用一种工具来分割它。为了管理的方便性,分割日志使每天的日志保存成单个文件,方便日志管理。本文使用cronolog工具。
安装过程如下: 1.下载(最新版本) 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
|