Linux系统下分割tomcat日志
Posted lmaplet
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux系统下分割tomcat日志相关的知识,希望对你有一定的参考价值。
在Linux系统下,tomcat日志catalina.out并不会像window系统下,按日期进行重写备份,因此在Linux系统下会造成日志文件过大的情况,本文介绍采用 cronolog工具进行如在window下的效果,做到按日期自动分割日志,过程如下:
1.在Linux安装cronolog,本文中采用的是cronolog-1.6.2版本
[root@Test src]# tar zxvf cronolog-1.6.2.tar.gz
[root@Test cronolog-1.6.2]# ./configure
[root@Test cronolog-1.6.2]# make && make install
2.找到tomcat下catalina.sh文件,编辑修改
[root@Test bin]# vi catalina.sh
shift touch "$CATALINA_OUT" if [ "$1" = "-security" ] ; then if [ $have_tty -eq 1 ]; then echo "Using Security Manager" fi shift "$_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 \\ >> "$CATALINA_OUT" 2>&1 & else "$_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 \\ >> "$CATALINA_OUT" 2>&1 & 修改为 shift touch "$CATALINA_OUT" if [ "$1" = "-security" ] ; then if [ $have_tty -eq 1 ]; then echo "Using Security Manager" fi shift "$_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 \\ |/usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null 2>&1 & else "$_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 \\ |/usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null 2>&1 &
3.重新启动tomcat,效果如下:
ps:由于不知道怎么上传附件, cronolog工具安装就靠大家自行下载了
以上是关于Linux系统下分割tomcat日志的主要内容,如果未能解决你的问题,请参考以下文章
linux 下 使用cronolog对Tomcat 输出catalina.out 日志按照自定义日期格式进行切割 亲测可用