tomcat日志自动分割(linux)cronolog

Linux上tomcat的日志输出在catalina.out里面,随着时间的推移,产生的日志文件会越来越大,其主要是调试中打印的一些信息占空间,比如说System.out和log等等。tomcat 的catalina.out文件的不断扩大,导致系统磁盘空间边变小,也不方便查看,所以使用cronolog按日期分割日志(例子里面以天为分割单位)。

  • cronolog安装
  1. # tar zxvf cronolog-1.6.2.tar.gz
    # cd cronolog-1.6.2# ./configure
    # make# make install
  • 查看cronolog安装后所在目录(验证安装是否成功)

    # which cronolog

    正常情况下显示:

    /usr/local/sbin/cronolog

  • 要想分割tomcat的catalina.out,需作如下工作:

    Tomcat7以前的版本:

    (1)注释掉(#)

    touch “$CATALINA_BASE”/logs/catalina.out

    (2)修改tomcat bin目录下的catalina.sh文件中的两处

    org.apache.catalina.startup.Bootstrap “[email protected]” start  \

    >> “$CATALINA_BASE”/logs/catalina.out 2>&1 &

    org.apache.catalina.startup.Bootstrap "[email protected]" start  2>&1 \

    | /usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null &

  • 完成之后重起Tomcat就可以看到logs文件中存在catalina.out.2015-09-13样式的日志。
  • Tomcat7以后的版本:
    1  第一步

    if [ -z "$CATALINA_OUT" ] ; then

    CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out

    fi

    修改为

    if [ -z "$CATALINA_OUT" ] ; then

    CATALINA_OUT="$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out

    fi

  • 2  第二步

    touch "$CATALINA_OUT"

    改为

    #touch "$CATALINA_OUT"

  • 3  第三步

    org.apache.catalina.startup.Bootstrap "[email protected]" start \

    >> "$CATALINA_OUT"  2>&1 &

    修改为

    org.apache.catalina.startup.Bootstrap "[email protected]" start 2>&1 \

    | /usr/local/sbin/cronolog "$CATALINA_OUT" >> /dev/null &

  • 或者进行下面的操作步骤效果一样(推荐):

# vi bin/catalina.sh

找到下面这行

org.apache.catalina.startup.Bootstrap "[email protected]" start \
      >> "$CATALINA_OUT" 2>&1 &

类似这样的行有2处,第一处是tomcat时带“-security”参数的启动,第二处是默认tomcat启动方式,也就是else下面的那部分,我们只修改这里。

另外还要把touch “$CATALINA_OUT"这行注释掉。

完整的修改如下:

#touch "$CATALINA_OUT"

if [ "$1" = "-security" ] ; then

........

else

eval "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $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 "[email protected]" start 2>&1 \

| /usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >>/dev/null &

fi

完成之后重起Tomcat就可以看到logs文件中存在catalina.out.2015-09-13样式的日志。

时间: 2024-11-11 02:12:47

tomcat日志自动分割(linux)cronolog的相关文章

使用crontab将tomcat日志自动分割

使用cronolog进行日志切割1.下载(最新版本)# wget http://cronolog.org/download/cronolog-1.6.2.tar.gz2.解压缩# tar zxvf cronolog-1.6.2.tar.gz3.进入cronolog安装文件所在目录 # cd cronolog-1.6.24.运行安装 # ./configure # make# make install5.进入Tomcat的bin目录,打开catalina.sh文件 ,找到tomcat启动的相关行,

apache 日志轮询 linux cronolog

Linux下运行的Web服务器Apache,默认日志文件是不分割的,一个整文件既不易于管理,也不易于分析统计.安装cronolog后,可以将日志文件按时间分割,易于管理和分析. cronolog安装配置非常简单,下载后只需要输入几个命令即可完成. 1.下载(最新版本) # wget http://cronolog.org/download/cronolog-1.6.2.tar.gz 如果这个链接失效,请上这个链接: http://download.chinaunix.net/download.p

Tomcat日志文件的输出在Linux和Windows下的差异

前言 最近老大发现Tomcat的日志文件catalina.out里存在着大量的和公司项目相关的log信息,因为一般都是会使用日志框架并另外将log信息输出到另外的文件里的,catalina.out文件里就不需要这些多余的log信息了. 不过我在测试的时候发现,Linux和Windows下catalina.out文件的输出是有区别的. 在Linux和Windows下的差异 在Windows平台下,所有System.out, System.err以及printStackTrace()输出的log信息

Linux系统下分割tomcat日志

在Linux系统下,tomcat日志catalina.out并不会像window系统下,按日期进行重写备份,因此在Linux系统下会造成日志文件过大的情况,本文介绍采用 cronolog工具进行如在window下的效果,做到按日期自动分割日志,过程如下: 1.在Linux安装cronolog,本文中采用的是cronolog-1.6.2版本 [[email protected] src]# tar zxvf cronolog-1.6.2.tar.gz [[email protected] cron

使用cronolog 分割Tomcat日志 Apache日志

1. 安装cronolog 官网下载:http://cronolog.org/usage.html ./configure make;make install 默认安装位置: # which cronolog /usr/local/sbin/cronolog 2. 配置分割Tomcat日志 编辑tomcat目录bin下的catalina.sh文件 # vi bin/catalina.sh 找到下面这行 elif [ "$1" = "start" ] ; then -

使用cronolog 分割Tomcat日志

作者:沈小然    日期:2014-7-30 安装cronolog 官网下载:http://cronolog.org/usage.html ./configure make;make install 默认安装位置: # which cronolog /usr/local/sbin/cronolog 配置分割Tomcat日志 编辑tomcat目录bin下的catalina.sh文件 # vi bin/catalina.sh 找到下面这行 org.apache.catalina.startup.Bo

linux nginx或tomcat 日志 分割

nginx的日志不是按照日期自动分割的,感觉以后会是一个问题,所以打算自己分割日志,在网上找了下,感觉都挺麻烦的,要分割日志,然后还要从启pid之类的,应该也好用吧,我没有试验.感觉太麻烦.自己按照想法写了一个.也挺好用的.供大家参考吧. #!/bin/bash # The Nginx logs path yesterday=`date -d "yesterday" +%Y%m%d` cp /home/log/nginx/logs/access.log /home/log/nginx/

解决Linux下Tomcat日志目录下的catalina.log日志文件过大的问题

本文摘自:(http://blog.csdn.net/stevencn76/article/details/6246162) 分类: Java技术专区2011-03-13 12:25 5017人阅读 评论(1) 收藏 举报 tomcatlinux工具任务web 由于Tomcat在默认情况下会将没有经过配置的web应用所产生的日志输出已经其本身的日志内容都输出到这个文件中,那么随着时间的推移,这个文件的尺寸将会越来越大,当需要检查日志内容时间会导致文件难以打开,而且同时tomcat依旧在不断的向文

Tomcat 日志分割.

一.前言 随着每天业务的增长,Tomcat 的catalina.out日志 变得越来越大,占用磁盘空间不说.要查看某个时候的日志的时候,庞大的日志让你顿时无从下手,所以日志的切割的变得刻不容缓.而且,切割后的日志,还可以定期清理掉久远的日志...... 二.Tomcat 日志分割 我们采用日期形式切割catalina.out 日志,因此采用cronlog 软件切割: 1.安装 cronlog  yum install -y cronolog httpd 2.修改bin/catalina.sh文件