tomcat日志切割

日志切割本来简单的事情,不过几番周折才搞定,惭愧!本来线下测试没问题,线上部署一堆错误。

线下环境:

centos5.8 32位、tomcat 7.0.21、 jdk1.7 (根据网上的资料测试很顺利通过)

线上环境:

centos 6.3 64位、tomcat 7.0.21 、jdk1.6  (测试不通过,启动报错。网上的资料基本一大抄,从来不实践?坑爹啊。不过最终问题解决,很奇葩)

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

2、解压缩
    # gunzip cronolog-1.6.2.tar.gz
    # tar -xvf cronolog-1.6.2.tar
3
、进入cronolog安装文件所在目录

    # cd cronolog-1.6.2 

4
、运行安装

    # ./configure 
    # make 
    #sudo  make install 
注意make install 需要root权限

5、查看cronolog安装后所在目录(验证安装是否成功)

    # which cronolog 

一般情况下显示为:/usr/local/sbin/cronolog 

要想分割tomcatcatalina.out,需作如下工作:

1.

touch “$CATALINA_BASE”/logs/catalina.out

可以注释掉,完成之后重起Tomcat就可以了

2.修改catalina.sh中的

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

请注意,修改后把这两行删掉(此处是关键,线下测试的时候就是注释掉的没有问题,一切正常。到了线上注释掉就不行了,tomcat启动报错比较奇葩的地方),而不是注释,否则java会报Usage参数错误

并且/usr/local/tomcat0/bin/catalina.sh: line 396: org.apache.catalina.startup.Bootstrap: command not found

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

请注意,连接符\后不能留空格,否则会报

“/usr/local/tomcat0/bin/catalina.sh: line 395: syntax error near unexpected token `|'

/usr/local/tomcat0/bin/catalina.sh: line 395: ` | /usr/local/sbin/cronolog "$CATALINA_BASE"/logs/all.%Y-%m-%d.log >> /dev/null &'”错误。


logs文件中是否有catalina.2013-07-13.log样式的日志,这样就可以每日轮转了~

你可能感兴趣的:(报错,cronolog,tomcat日志切割)