tomcat日志文件过大,使用cronolog工具切割日志

原创 2018年04月16日 11:35:53

    在我们将项目部署到Linux中的tomcat下时,运行很久后会在tomcat/logs/catalina.out文件会越来越大,会降低tomcat的性能,因此我们需要使用一个工具来将这个文件根据日期来分割,将每天生成的日志存放在一个独立的文件中,下面介绍一个cronolog工具来实现。

首先下载cronolog-1.6.2.tar.gz   下载地址:https://download.csdn.net/download/h2520ny/10351919

第一步:输入tar xf cronolog-1.6.2.tar.gz解压

第二步:输入cd cronolog-1.6.2,进入该目录

第三步编译安装:输入./configure(如果输入后显示有报错,如下报错您需要输入yum install gcc gcc-c++ gcc-g77,然后再输入./configure,会出现如下图)

 

然后输入make

然后输入make install

第四步修改tomcat的启动文件(tomcat/bin/catalina.sh)

else

    eval $_NOHUP "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \

      -Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" \

      -Dcatalina.base="\"$CATALINA_BASE\"" \

      -Dcatalina.home="\"$CATALINA_HOME\"" \

      -Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \

      org.apache.catalina.startup.Bootstrap "$@" start \

      >> "$CATALINA_OUT" 2>&1 "&"

大致在415(这只是我的catalina.sh中的位置,不同版本可以不一样),将其修改为:

 

else

    eval $_NOHUP "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \

      -Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" \

      -Dcatalina.base="\"$CATALINA_BASE\"" \

      -Dcatalina.home="\"$CATALINA_HOME\"" \

      -Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \

  org.apache.catalina.startup.Bootstrap "$@" start \

  |/usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null 2>&1 &

以后查看实时日志需使用tail -f catalina.2018-04-16.out 命令查看(这是在2018-04-16查看时)


下面进行在Linux中写定时删除tomcat日志目录下30天前的后缀为.log的文件,分以下三步
第一步:创建shell脚本(也可以理解为在Windows下创建bat脚本)
1.在Linux下某目录下创建一个.sh脚本文件,我这里是在/home/xhj/目录下创建了一个auto-del-30-days-ago-log.sh文件。
2.然后给这个文件执行权限,进入/home/xhj/目录,输入chmod +x auto-del-30-days-ago-log.sh赋予执行权限。
第二步:编辑shell脚本
1.输入cd /home/xhj/进入/home/xhj/目录(如果已经在此目录测不需要此步骤)
2.输入vi auto-del-30-days-ago-log.sh编辑该文件
3.在文件中写find /home/xhj/java/apache-tomcat-7.0.73/logs/ -mtime +30 -name "*.log" -exec rm -rf {} \;写完后保存退出
(/home/xhj/java/apache-tomcat-7.0.73/logs/为存放日志文件的目录,+30是表示删除30天前的数据,"*.log"表示删除以.log为后缀的数据,整条语句意思是删除/home/xhj/java/apache-tomcat-7.0.73/logs/目录下30天前的后缀为.log的文件)
第三步:将auto-del-30-days-ago-log.sh执行脚本加入到系统计划任务,到点自动执行
1.在随便哪个目录下输入crontab -e
2.然后添加一行代码10 0 * * * /home/xhj/auto-del-30-days-ago-log.sh >/dev/null 2>&1(这里的设置是每天凌晨0点10分执行auto-del-30-days-ago-log.sh文件进行数据清理任务了。)


使用cronolog按日期分割日志

cronolog cronolog是一个简单的过滤程序从标准输入读取日志文件条目,每个条目写入到输出文件指定一个文件名模板和当前的日期和时间。当扩大的文件名更改,关闭当前文件,并打开一个新的。 cro...
  • beyondlpf
  • beyondlpf
  • 2014-11-27 15:45:37
  • 3552

使用cronolog进行tomcat日志切割

最近在学习tomcat日志切割,在此记录学习的内容,供以后复习参考。 参考文章 http://6949872.blog.51cto.com/6939872/1175530 一、安装cronolog...
  • u013737646
  • u013737646
  • 2016-02-14 10:04:41
  • 4012

tomcat自动切割日志(Windows)

tomcat在windows下自动切割日志
  • Sleeping_
  • Sleeping_
  • 2015-07-20 15:52:31
  • 4995

用cronolog为tomcat做日志分割

做这样的日志分割,前提是你在项目文件中是用log4j来打印日志的,当然必需要有相应的jar包 1、下载(cronolog-1.6.2.zip我下的是这个,只是压缩方式不一样,在Linux下一样的...
  • Uhzgnaw
  • Uhzgnaw
  • 2015-06-09 17:21:01
  • 1792

tomcat8 日志切割之cronolog

Tomcat日志切割之cronolog 环境:centos6.8 Tomcat版本:tomcat 8.0及以上   1. 将 cronolog-1.6.2.tar.gz 上传服务器/r...
  • qq_33250152
  • qq_33250152
  • 2017-12-14 11:49:39
  • 220

Linux下利用cronolog对Tomcat7 catalina.out 日志分割

1.下载cronolog-1.6.2.tar.gz。 2.解压缩到当前文件夹tar zxvf cronolog-1.6.2.tar.gz 3.进入cronolog安装目录 4.接下来输入...
  • sunxm1992
  • sunxm1992
  • 2017-01-17 13:33:43
  • 1425

用cronolog为tomcat做日志分割之问题解决版

XXX 不在 sudoers 文件中。此事将被报告。 百度一番,需要修改/etc/sudoers文件,将要赋权的用户添加到里面: 如下三行(如果都不存在就添加进去,第一行是注释,但是第二行...
  • Uhzgnaw
  • Uhzgnaw
  • 2015-06-10 11:14:46
  • 3128

Cronolog 分割 Tomcat8 Catalina.out日志

默认情况下,tomcat的catalina.out日志文件是没有像其它日志一样,按日期进行分割,而是全部输出全部写入到一个catalina.out,这样日积月累就会造成.out日志越来越大,给管理造成...
  • hanzheng260561728
  • hanzheng260561728
  • 2016-04-24 21:47:07
  • 6479

用cronolog分割Nginx日志

方法一(来源网络): 1,安装cronolog wget http://cronolog.org/download/cronolog-1.6.2.tar.gz tar zxvf cronolog...
  • risingsun001
  • risingsun001
  • 2015-10-08 10:23:28
  • 1794

Nginx实现大日志文件切割

方式一: nginx cronolog日志分割配置文档,根据下面方法,每分钟分割一次NGINX访问日志。 1.nginx日志配置  access_log access_log /data/acc...
  • liuzhoulong
  • liuzhoulong
  • 2011-12-18 20:57:57
  • 13568
收藏助手
不良信息举报
您举报文章:tomcat日志文件过大,使用cronolog工具切割日志
举报原因:
原因补充:

(最多只允许输入30个字)