Linux下切分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文件中的


 

Java代码 org.apache.catalina.startup.Bootstrap “$@” start  \   >> “$CATALINA_BASE”/logs/catalina.out 2>&1  

org.apache.catalina.startup.Bootstrap “$@” start \ >> “$CATALINA_BASE”/logs/catalina.out 2>&1 &



Java代码 org.apache.catalina.startup.Bootstrap "$@" start  2>&1 \       /usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null  

org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \ | /usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null &


同时,文件中有一行

Java代码 touch “$CATALINA_BASE”/logs/catalina.out  

touch “$CATALINA_BASE”/logs/catalina.out

可以注释掉,完成之后重起Tomcat就可以了,
看logs文件中是否有catalina.2009-07-01.out样式的日志。

 

 

------------------------------------------------------------------------------------------------------

 

随着Tomcat的运行,catalina.out文件会越来越大,虽然Tomcat每日会生成一个catalina.ymd.log的文件,但catalina.out主文件仍然不断增加,需要对catalina.out按日切分才好,在网上找了一下,看到一篇《rotating catalina.out in tomcat 5.5 using cronolog》,就用公司的Tomcat配置一下。


cronolog工具已经在服务器上装过,一个对日志切分的小工具,其主页在http://cronolog.org/,我们也用它来切分Apache的日志。

进入Tomcat的bin目录,打开catalina.sh文件,找到tomcat启动的相关行,或者你直接查找catalina.out,一般我们修改下面行中的内容(因为我们一般不会在-security条件下运行),

     else
    “$_RUNJAVA” $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_BASE”/logs/catalina.out 2>&1 &
 
    if [ ! -z "$CATALINA_PID" ]; then
    echo $! > $CATALINA_PID
    fi
    fi

修改
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-02-18.out的日志,是按日生成的。


本篇文章来源于 Linux公社网站(www.linuxidc.com 原文链接:http://www.linuxidc.com/Linux/2011-04/34139.htm

 

-----------------------------------------------------------------------------------------------

 

 

rotating catalina.out in tomcat 5.5 using cronolog
Submitted by theCamel on Tue, 08/14/2007 - 16:25.
Tags: Tomcat
Cronolog provides a solution to the age-old problem of tomcat's catalina.out log file not rotating and growing so large that the server must be stopped to deal with it.


First, install cronolog, which can be downloaded from here.

the cronolog command works like this:

cronolog [OPTIONS] logfile-spec

a simple example is:

cronolog /logs/catalina.out.%Y-%m-%d

so once output is piped to cronolog, it will create a logfile that looks like:

catalina.out.2007-08-14

and when the date changes, it creates a new file:

catalina.out.2007-08-15

so to configure, in the catalina.sh replace this string:

org.apache.catalina.startup.Bootstrap "$@" start \
>> "$CATALINA_BASE"/logs/catalina.out 2>&1 &


with this:

org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \
| /usr/local/sbin/cronolog /logs/catalina.out.%Y-%m-%d >> /dev/null &


and the catalina.out will now be rotated daily and stored in the path we specified "/logs". If you wish to keep the logs in the tomcat logs dir, just specify that path in the cronolog command in catalina.sh

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


I also removed this line from catalina.sh:

touch "$CATALINA_BASE"/logs/catalina.out


as it would no longer be necessary.

so now instead of one gigantic, ever-growing catalina.out, I have this:


catalina.2007-08-10.log
catalina.2007-08-11.log
catalina.2007-08-12.log
catalina.2007-08-13.log
catalina.2007-08-14.log
catalina.2007-08-15.log


and all my old log-removal scripts can work and I no longer have to stop the tomcat server just to deal with a log file...


本篇文章来源于 Linux公社网站(www.linuxidc.com 原文链接:http://www.linuxidc.com/Linux/2011-04/34139p2.htm

 

 

--------------------------------------------------------------------------------------------------

 

在java项目中,LINUX系统,TOMCAT服务器,结果项目运行中在TOMCAT的LOGS文件下产生catalina.out文件且呈现持续化增长状态
WIN下的tomcat5的日志是按日期来记录的.移到linux下发现tomcat/logs下只有一个catalina.out件.
时间一长.发现日志文件暴增.对于管理真是不方便.
1.下载cronolog-1.6.2.tar.gz
2.安装

  1. tar zxvf cronolog-1.6.2.tar.gz  
  2. ./configure  
  3. make  
  4. make install  
# tar zxvf cronolog-1.6.2.tar.gz
# ./configure
# make
# make install

默认是安装在/usr/local/sbin/下.
3.配置
在tomcat/bin/catalian.sh中找到

Java代码
  1. org.apache.catalina.startup.Bootstrap "$@" start     >> "$CATALINA_BASE"/logs/catalina.out 2&1  
org.apache.catalina.startup.Bootstrap "$@" start \     >> "$CATALINA_BASE"/logs/catalina.out 2&1 &



把上面的内容改成:

  1. org.apache.catalina.startup.Bootstrap "$@" start  
  2. |/usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null 2>&1   
org.apache.catalina.startup.Bootstrap "$@" start \
|/usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null 2>&1 & 


修改好了.重启

  1. #./catalina.sh start  
#./catalina.sh start


# ls /tomcat/logs/
就会发现logs下面多了几个如同catalina.2006.06.01.log的文件了.


------------------------------------------------------------------------------------------------------------------------------

进入tomcat的bin目录,打开catalina.out
找到-security

Java代码 复制代码
  1. #>> "$CATALINA_BASE"/logs/catalina.out 2>&1  
Java代码 复制代码  收藏代码
  1. #>> "$CATALINA_BASE"/logs/catalina.out 2>&1  
#>> "$CATALINA_BASE"/logs/catalina.out 2>&1 &


修改成

Java代码 复制代码
  1. org.apache.catalina.startup.Bootstrap "$@" start 2>&1 "$CATALINA_BASE"/bin/cronolog "$CATALINA_BASE"/logs/%Y%m%d_%Hcatalina.out >> /dev/null  
Java代码 复制代码  收藏代码
  1. org.apache.catalina.startup.Bootstrap "$@" start 2>&1 "$CATALINA_BASE"/bin/cronolog "$CATALINA_BASE"/logs/%Y%m%d_%Hcatalina.out >> /dev/null  
 org.apache.catalina.startup.Bootstrap "$@" start 2>&1 | "$CATALINA_BASE"/bin/cronolog "$CATALINA_BASE"/logs/%Y%m%d_%Hcatalina.out >> /dev/null &



文件中有一行

Java代码 复制代码
  1. touch “$CATALINA_BASE”/logs/catalina.out    
Java代码 复制代码  收藏代码
  1. touch “$CATALINA_BASE”/logs/catalina.out    
touch “$CATALINA_BASE”/logs/catalina.out  



可以注释掉

改好后 在http://cronolog.org/ 下载一个cronolog
放到bin目录中,然后重启tomcat,将会在tomcat中/logs找到
20100604_15catalina.out的日志。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值