欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

用cronolog分割tomcat的catalina.out文件 博客分类: androidWindowstoollinuxweb前端

程序员文章站 2024-03-23 15:20:22
...

用cronolog分割tomcat的catalina.out文件 


最近由于工作需要,tomcat 的catalina.out文件的不断扩大,导致系统磁盘空间边变小,而且管理也难于管理,所以想用一种工具来分割它。网上找了找用cronolog 

安装过程如下: 

下载(最新版本) 

    #  wget http://cronolog.org/download/cronolog-1.6.2.tar.gz 

2、解压缩 

    # tar zxvf cronolog-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就可以了, 看logs文件中是否有catalina.2009-07-01.out样式的日志。

 

2011-12-21 更新:

使用tomcat5.5.30版本, catalina.sh文件中的代码有所变化

原内容为:

 org.apache.catalina.startup.Bootstrap "$@" start \
      >> "$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 &

 其他没有变化

 

截取某一段时间的日志:

 sed -n '/开始时间/,/结束时间/ p' catalina.out > catalina.out.0119
样例:截取1月19日到当前时间的日志
 sed -n '/2015-01-19/,// p' catalina.outag > catalina.out.0119