Tomcat日志catalina.out分割

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

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

  • cronolog安装使用

A、 cronolog工具下载

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

B、 cronolog编译安装

tar xvf cronolog-1.6.2.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 "$@" start \
      >> "$CATALINA_OUT" 2>&1 "&"
    为:
      org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \
      | /usr/local/sbin/cronolog "$CATALINA_OUT" >> /dev/null &

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

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

文件删除命令Find
代码如下:

find /root/apache-tomcat-7.0.54/logs -type -f -mtime +6 -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
00 00 * * * find /root/apache/logs -type -f -mtime +6 -exec rm -rf {} \;

你可能感兴趣的:(Tomcat,cronolog)