欢迎您, 来到 宁时修博客.^_^

Tomcat----02、cronolog按日切割Tomcat 8日志

2017/01/16 言则行 Tomcat 1645
Tomcat日志分割

一、切割日志的缘由

    Tomcat的catalina.out日志不会自动按日分割,会一直累加,直到没有磁盘空间可用。而且管理不方便,查看日志找错误影响效率。所以需要按日期归档,且清理方便。


二、cronolog简介

    cronolog是一个简单的过滤程序,从标准输入读取日志文件条目,然后每个条目输出至指定的带有当前日期时间的模板文件中。当扩展文件名发生变化,当前文件关闭,并打开新文件。cronolog旨在和Web服务器一起使用,如Apache,将访问日志切割为每天或每月的日志文件。


三、cronolog与Tomcat配置

    1、下载cronolog

    ①yum下载

 yum install -y cronolog


    ②源码下载

 wget http://cronolog.org/download/cronolog-1.6.2.tar.gz
 tar xf cronolog-1.6.2.tar.gz
 cd cronolog-1.6.2
 ./configure
 make && make install


    安装后查看cronolog命令路径,并记住这个路径,有用:

 $ which cronolog
 /usr/sbin/cronolog


    2、Tomcat设置

    进入Tomcat程序安装目录的bin下修改catalina.sh脚本文件:

 修改:
 CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out
 改为:
 CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out.%Y-%m-%d
  
 注释:
 #  touch "$CATALINA_OUT"
  
 修改:
 org.apache.catalina.startup.Bootstrap "$@" start \
 >> “$CATALINA_OUT” 2>&1 “&”
 改为:
 org.apache.catalina.startup.Bootstrap "$@" start \
 2>&1 | /usr/sbin/cronolog "$CATALINA_OUT" >> /dev/null &
  
 修改:
 org.apache.catalina.startup.Bootstrap "$@" start \
 >> “$CATALINA_OUT” 2>&1 “&”
 改为:
 org.apache.catalina.startup.Bootstrap "$@" start \
 2>&1 | /usr/sbin/cronolog "$CATALINA_OUT" >> /dev/null &

    改完后重启Tomcat,然后可以在logs下,看到:

 catalina.out.2017-01-06
 catalina.out.2017-01-07
 catalina.out.2017-XX-XX

    说明日志已被分割,每天会生成一个以当前日期为后缀的日志文件。


四、定时删除日志

    使用crontab定时任务,每天凌晨00:00删除7天以前的日志文件。

$ crontab -e

####删除7天前的Tomcat日志#####
00 00 * * * /usr/bin/find /webroot/tomcat/logs/ -type f -mtime +7 | xargs rm -f >/dev/null 2>&1


点赞
说说你的看法

所有评论: (0)