用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