Tomcat日志切割功能实现

Tomcat日志切分功能

简介:
    catalina.out文件中记录了tomcat运行过程中的一系列信息,但如果长时间不做清理的话,文件就会越来越大,为了避免此问题,使用日志切分功能即可

安装前提:
    cronolog    #这个工具具体我也不是特别了解,但是是一个日志切分工具,此处不做过多说明

一 安装cronolog

# yum -y install cronolog    #使用yum的方式安装此工具
# which cronolog             #查找此工具的绝对路径
# vim $CATALINA_HOME/bin/catalina.sh   #编辑tomcat的启动文件    
  touch "$CATALINA_OUT"
if [ "$1" = "-security" ] ; then
if [ $have_tty -eq 1 ]; then
  echo "Using Security Manager"
fi
shift
eval $_NOHUP "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
  -D$ENDORSED_PROP="\"$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 "&" 修改为 |/usr/sbin/cronolog "$CATALINA_OUT" >> /dev/null &     #只用修改这一行即可
  ......
    if [ -z "$CATALINA_OUT" ] ; then
      CATALINA_OUT="/app/catalinalogs/catalina`date +%Y-%m-%d`.out"    #修改了catalina.out日志文件存放的位置;
    fi

二 重启Tomcat生效

# $CATALINA_HOME/bin/catalina.sh stop
# $CATALINA_HOME/bin/catalina.sh start

三 计划任务

因为我们切分日志的目的就是为了防止文件过大占用过多的磁盘空间,如果只有一个文件不好清理,所以此处我们做计划任务定时删除6天前的日志文件
# crontab -e
00 00 * * * find /app/catalinalogs -type f -mtime +6 -exec rm {} \;       #记得确保指定目录下没有其他重要文件

你可能感兴趣的:(工作记录,Tomcat)