天天看点

Tomcat日志catalina.out分割

Tomcat默认生成的日志文件catalina.out,随着时间的推移,逐渐增大,可能达到G数量级。文件过大,我们将无法使用过常规编辑工具查看,严重影响系统维护工作

今天我们使用cronolog工具来做分割

  • cronolog安装使用

A、 cronolog工具下载

官方URL:http://cronolog.org/download/index.html(可能下载不了,可以找度娘)

B、 cronolog编译安装

tar xvf cronolog-.tar.gz
 ./configure
 make
 sudo make install
           

C、 修改Tomcat启动脚本catalina.sh

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.%Y-%m-%d.out
fi
           
2、 删除生成日志文件
           
注释:
touch "$CATALINA_OUT"
   为:
#touch "$CATALINA_OUT"
           
3、 修改启动脚本参数
           
修改:
      org.apache.catalina.startup.Bootstrap "[email protected]" start \
      >> "$CATALINA_OUT" >& "&"
    为:
      org.apache.catalina.startup.Bootstrap "[email protected]" start >& \
      | /usr/local/sbin/cronolog "$CATALINA_OUT" >> /dev/null &
           

D、 重启Tomcat

Tomcat输出日志文件分割成功,输出log文件格式为:catalina.20XX-XX-XX.out类型

  • Linux定时删除文件

    日志文件太多了之后需要定时删除

文件删除命令Find

代码如下:

find /root/apache-tomcat-/logs -type -f -mtime + -exec rm -rf {} \;
           

以上命令删除30天以前的过期文件

命令说明:

/root/apache-tomcat-7.0.54/logs是查找文件的路径。

-type f是指定文件类型为普通文件。

-mtime +6是指修改时间距离现在6天的文件。

-exec rm -f指执行删除匹配出来的文件并且不提示,有的系统需要带单引号,有的不需要。

加入Crontab任务

将以上命令,添加到crontab中,即可实现定期删除了。

比如,每天的0点0分实现删除,可以这样:

代码如下:

#crontab -e
  * * * find /root/apache/logs -type -f -mtime + -exec rm -rf {} \;