centos 6.5 tomcat的catalina.out日志过大,分割tomcat 7日志
第一种解决方案
安装cronolog工具,安装位置默认为:/usr/sbin/cronolog
由于源没有cronolog软件所有采用第三方源
wget http://ftp.sjtu.edu.cn/fedora/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm
yum install -y cronolog
修改398行可注释掉,如
vim catalina.sh +398
#touch “$CATALINA_OUT”
修改catalina.sh配置,对于tomcat7的文件,在411行、420行两处
vim catalina.sh +411
org.apache.catalina.startup.Bootstrap “$@” start \
>> “$CATALINA_OUT” 2>&1 “&”
修改成
org.apache.catalina.startup.Bootstrap “$@” start 2>&1 \
|/usr/sbin/cronolog “$CATALINA_BASE”/logs/catalina-%Y-%m-%d.out>> /dev/null &
另一个解决方案:减少catalina.out输出。
一般在部署Tomcat后,运行久了,catalina.out文件会越来越大,对系统的稳定造成了一定的影响。
可通过修改conf/logging.properties日志配置文件来屏蔽掉这部分的日志信息。
1catalina.org.apache.juli.FileHandler.level = WARNING
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.FileHandler.prefix = catalina.
将level级别设置成WARNING就可以大量减少日志的输出,当然也可以设置成OFF,直接禁用掉。
一般日志的级别有:
SEVERE (highest value) > WARNING > INFO > CONFIG > FINE > FINER > FINEST (lowest value)
以 Tomcat 6.0.24 的版本为例
2.1 第一步
将
if [ -z “$CATALINA_OUT” ] ; then
CATALINA_OUT=”$CATALINA_BASE”/logs/catalina.out
fi
修改为
if [ -z “$CATALINA_OUT” ] ; then
CATALINA_OUT=”$CATALINA_BASE”/logs/catalina.out.%Y-%m-%d 日期也可设成 date +%Y-%m-%d
.out
fi
2.2 第二步
将
touch “$CATALINA_OUT”
改为
#touch “$CATALINA_OUT”
2.3 第三步
将
org.apache.catalina.startup.Bootstrap “$@” start \
>> “$CATALINA_OUT” 2>&1 &
修改为
org.apache.catalina.startup.Bootstrap “$@” start 2>&1 \
| /usr/local/sbin/cronolog “$CATALINA_OUT” >> /dev/null &
2.4 重新启动 Tomcat
service tomcat restart
可以在 Tomcat 的 logs 目录底下找到以系统日期为结尾的 catalina.out.yyyy-mm-dd 的档案,这样子就成功了。
后续就是持续观察看看是不是每天都有产生一个新的 catalina.out.yyyy-mm-dd 档案。然后再安排定期删除这些较旧的log 檔即可。