最近由于工作需要,tomcat 的catalina.out文件的不断扩大,导致系统磁盘空间边变小,而且管理也难于管理,所以想用一种工具来分割它。网上找了找用cronolog 。重点关注红色标注的文字。
安装过程如下:
下载(最新版本)
2、解压缩
3、进入cronolog安装文件所在目录
4、运行安装
5、查看cronolog安装后所在目录(验证安装是否成功)
一般情况下显示为:/usr/local/sbin/cronolog
要想分割tomcat的catalina.out,需作如下工作:
修改tomcat bin目录下的catalina.sh文件中的
Java代码 org.apache.catalina.startup.Bootstrap
org.apache.catalina.startup.Bootstrap “$@” start \ >> “$CATALINA_BASE”/logs/catalina.out 2>&1 &
为
Java代码 org.apache.catalina.startup.Bootstrap
org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \ | /usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null &
同时,文件中有一行
Java代码 touch
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条件下运行),
修改
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)
-----------------------------------------------------------------------------------------------
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)
--------------------------------------------------------------------------------------------------
在java项目中,LINUX系统,TOMCAT服务器,结果项目运行中在TOMCAT的LOGS文件下产生catalina.out文件且呈现持续化增长状态
WIN下的tomcat5的日志是按日期来记录的.移到linux下发现tomcat/logs下只有一个catalina.out件.
时间一长.发现日志文件暴增.对于管理真是不方便.
1.下载cronolog-1.6.2.tar.gz
2.安装
- #
tar zxvf cronolog-1.6.2.tar.gz - #
./configure - #
make - #
make install
# tar zxvf cronolog-1.6.2.tar.gz # ./configure # make # make install
默认是安装在/usr/local/sbin/下.
3.配置
在tomcat/bin/catalian.sh中找到
- 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 &
把上面的内容改成:
- org.apache.catalina.startup.Bootstrap
"$@" start \ - |/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 &
修改好了.重启
- #./catalina.sh
start
#./catalina.sh start
# ls /tomcat/logs/
就会发现logs下面多了几个如同catalina.2006.06.01.log的文件了.
------------------------------------------------------------------------------------------------------------------------------
进入tomcat的bin目录,打开catalina.out
找到-security
将
#>> "$CATALINA_BASE"/logs/catalina.out 2>&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 &
org.apache.catalina.startup.Bootstrap "$@" start 2>&1 | "$CATALINA_BASE"/bin/cronolog "$CATALINA_BASE"/logs/%Y%m%d_%Hcatalina.out >> /dev/null &
文件中有一行
touch “$CATALINA_BASE”/logs/catalina.out
可以注释掉
改好后 在http://cronolog.org/ 下载一个cronolog
放到bin目录中,然后重启tomcat,将会在tomcat中/logs找到
20100604_15catalina.out的日志。