tomcat日志切割和定期删除

在tomcat的软件环境中,如果我们任由日志文件无限增长,总有一天会将磁盘占满的(废话)。特别是在日志文件增长速度很快的一些情况下,按日志切割日志文件并删除,就是一件很有必要的工作了,以下介绍了切割日志文件的方法。

第1章 系统环境

1.1 操作系统环境

1
2
3
4
5
6
[root@server1 ~]# cat /etc/redhat-release
CentOS release 6.5 (Final)
[root@server1 ~]# uname -r
2.6.32-431.el6.x86_64
[root@server1 ~]# uname -m
x86_64

1.2 jdk环境

1
2
3
4
[root@server1 ~]# java -version
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) Server VM (build 24.65-b04, mixed mode)

1.3 tomcat环境

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@server1 ~]# /opt/gw/tomcat7/bin/catalina.sh version
Using CATALINA_BASE:   /opt/gw/tomcat7
Using CATALINA_HOME:   /opt/gw/tomcat7
Using CATALINA_TMPDIR: /opt/gw/tomcat7/temp
Using JRE_HOME:        /usr/local/jdk1.7
Using CLASSPATH:       /opt/gw/tomcat7/bin/bootstrap.jar:/opt/gw/tomcat7/bin/tomcat-juli.jar
Server version: Apache Tomcat/7.0.57
Server built:   Nov 3 2014 08:39:16 UTC
Server number:  7.0.57.0                #<==tomcat-7.5.57版本
OS Name:        Linux
OS Version:     2.6.32-431.el6.x86_64
Architecture:   i386
JVM Version:    1.7.0_67-b01
JVM Vendor:     Oracle Corporation

第2章 切割工具cronolog

2.1 cronolog的介绍

Cronolog是一个过滤器程序,它从标准输入读取日志文件条目,并将每个条目写入由文件名模板和当前日志所指定的输出文件中。 当扩展文件名改变时,关闭当前文件,并打开一个新文件。 Cronolog是为了与Apache等Web服务器一起使用,将访问日志分为每日或每月日志。

2.2 cronolog的安装

2.2.1 下载cronolog

1
2
3
4
cd /usr/local/src
wget  https://files.cnblogs.com/files/crazyzero/cronolog-1.6.2.tar.gz
[root@kafka01 src]# md5sum cronolog-1.6.2.tar.gz
a44564fd5a5b061a5691b9a837d04979  cronolog-1.6.2.tar.gz         #<==cronolog的MD5码

2.2.2 编译安装

1
2
3
4
5
6
[root@kafka01 src]# tar xf cronolog-1.6.2.tar.gz
[root@kafka01 src]# cd cronolog-1.6.2
[root@kafka01 cronolog-1.6.2]# ./configure          #<==编译,此前先确保安装cmake等编译工具
[root@kafka01 cronolog-1.6.2]# make && make install #<==安装
[root@kafka01 cronolog-1.6.2]# which cronolog       #<==检查是否安装成功,如果有结果则安装成功
/usr/local/sbin/cronolog

2.3 cronolog命令

1
2
3
4
5
6
7
8
9
[root@server1 ~]# which cronolog
/usr/local/sbin/cronolog            #<==cronolog命令的存放路径
使用man帮助命令查看cronolog使用语法:
[root@server1 ~]# man cronolog
NAME
       cronolog - write log messages to log files named according to a template
  
SYNOPSIS
       cronolog [OPTION]... template

第3章 配置tomcat日志切割

配置日志切割,只需修改配置文件catalina.sh(如果windows则是catalina.bat,这里不介绍windows情况)即可。大概在catalina文件中的第380行和第390行左右,修改如下:

(1)内容:

1
2
org.apache.catalina.startup.Bootstrap "$@" start \
>> "$CATALINA_OUT" 2>&1 "&"

替换为:

1
2
org.apache.catalina.startup.Bootstrap "$@" start \
2>&1 |/usr/local/sbin/cronolog "$CATALINA_BASE/logs/catalina-%Y-%m-%d.out" &

(2)内容:

1
2
org.apache.catalina.startup.Bootstrap "$@" start \
>> "$CATALINA_OUT" 2>&1 "&"

替换为:

1
2
org.apache.catalina.startup.Bootstrap "$@" start \
2>&1 |/usr/local/sbin/cronolog "$CATALINA_BASE/logs/catalina-%Y-%m-%d.out" &

配置完成后,重启tomcat即可!!!!

第4章 定时删除过期日志

在这里直接使用linux自带的crontab定时任务工具,设置每天凌晨00:00执行删除任务,删除7天以前的日志文件。

1
2
crontab -e          #<==直接输入该命令,添加一个定时任务计划
00 00 * * * /bin/find /opt/gdyy/tomcat7/logs/ -type f -mtime +7 | xargs rm -f  &>/dev/null  #<==查找tomcat/logs下面的日志文件,并删除7天以前的日志,添加完成后保存退出!!
1
2
3
[root@server1 ~]# crontab -l    #<==查看定时任务计划
#remove gw log 7 days ago by liutao at 2018-02-08
00 00 * * * /bin/find /opt/gw/tomcat7/logs/ -type f -mtime +7 | xargs -i mv {} /data/bak/gw_log/  &>/dev/null

tomcat日志切割并定时删除完成!!!

转自:http://blog.51cto.com/13178102/2070532

tomcat日志切割和定期删除的更多相关文章

  1. tomcat日志切割和定期删除(转载)

    tomcat日志切割和定期删除 在tomcat的软件环境中,如果我们任由日志文件无限增长,总有一天会将磁盘占满的(废话).特别是在日志文件增长速度很快的一些情况下,按日志切割日志文件并删除,就是一件很 ...

  2. centos记录uptime,tomcat日志切割,远程拷贝日志脚本

    1.uptime日志脚本(每天记录) #!/bin/sh dir=/tmp/uptime_log process=`ps -ef|grep $|grep -v "grep" |gr ...

  3. 脚本:Tomcat日志切割

    Tomcat日志切割脚本 #!/bin/bash #Tomcat日志切割 Tomcat_logs_path=/data/server/tomcat-8080/logs d=`date +%F` d7= ...

  4. Tomcat 修改日志输出配置 定期删除日志

    tomcat的下的日志catalina.out 和 qc.log疯狂增长,以下是解决办法 我生产环境tomcat版本 Server version: Apache Tomcat/7.0.35 Serv ...

  5. tomcat日志切割脚本

    tomcat日志每俩小时切割的脚本如下(这是用定时任务来完成的,此方法无需重启tomcat): time=$(date +%H) end_time=`` a=$end_time BF_TIME=$(- ...

  6. tomcat 日志切割 catalina.out

    在实际生产环境中,tomcat的 catalina.out日志默认是不切割的,由于看起来很不方便,以及在备份等方面都比较麻烦.是时候切割该文件了. 环境说明 centos 7.3 tomcat 8.5 ...

  7. linux运维、架构之路-tomcat日志切割工具 logrotate

    一.Logrotate简介 1.Logrotate实际就是对日志进行切割的小工具,他通过让用户来配置规则的方式,检测和处理日志文件.配合Cron可让处理定时化:2.Logrotate预制了大量判断条件 ...

  8. Tomcat日志切割

    下载并解压缩 cronolog # tar zxvf cronolog-1.6.2.tar.gz 2.进入cronolog安装文件所在目录 # cd cronolog-1.6.2 3.运行安装  # ...

  9. 【Tomcat】Tomcat日志切割

    下载并解压缩 cronolog # tar zxvf cronolog-1.6.2.tar.gz 2.进入cronolog安装文件所在目录 # cd cronolog-1.6.2 3.运行安装  # ...

随机推荐

  1. Object-C-Foundation-set

    无序集合 哈希表 NSSet *colors=[NSSet setWithObjects:@@"yellow",@"red",@"blue" ...

  2. Javassist注解(Annotation)的使用:CXF WebService动态生成

    设计一个对接系统,通过动态模型的增删改触发业务系统相应服务的调用.模型增删改方法动态发布为WebService服务.WebService服务采用CXF发布,动态类生成采用Javassist.由于Web ...

  3. Gatling新一代压力测试工具,新一代服务器性能测试工具Gatling

    Gatling新一代压力测试工具新一代服务器性能测试工具Gatlinghttp://www.infoq.com/cn/articles/new-generation-server-testing-to ...

  4. 【前端开发】利用Fiddler抓包工具进行本地调试

    解决什么问题: 解决前端在本地联调页面 || 样式 || 脚本时经常修改服务器代码,浪费太多时间. 避免多人同时修改代码产生冲突问题.可以在本地调完代码之后,再贴到服务器上. 其实这个问题老早就开始想 ...

  5. Python入门之安装numpy和pandas

    最近要对一系列数据做同比比较,需要用到numpy和pandas来计算,不过使用python安装numpy和pandas因为linux环境没有外网遇到了很多问题就记下来了. 首要条件,python版本必 ...

  6. P2880 [USACO07JAN]平衡的阵容Balanced Lineup

    P2880 [USACO07JAN]平衡的阵容Balanced Lineup RMQ RMQ模板题 静态求区间最大/最小值 (开了O2还能卡到rank9) #include<iostream&g ...

  7. 怎么解决深入学习PHP的瓶颈

    PHP给学习者的感觉是:初学的时候很容易,但是学了2-3年,就深刻感觉遇到了瓶颈,很难深入,放弃又可惜.所谓"鸡肋,食之无味弃之可惜"的感觉很是贴切. 经常会有这种感觉:不学,看似 ...

  8. 20145314郑凯杰《网络对抗技术》实验9 web安全基础实践

    20145314郑凯杰<网络对抗技术>实验9 web安全基础实践 一.实验准备 1.0 实验目标和内容 Web前端HTML.能正常安装.启停Apache.理解HTML,理解表单,理解GET ...

  9. uboot 网络驱动模型

    原文:https://blog.csdn.net/zhouxinlin2009/article/details/45390065 UBOOT的PHYCHIP配置 PHYCHIP的配置位于 includ ...

  10. arch/manjaro linux configuration

    0. Installation SystemConfiguration: # 启动时选择第二项boot(non-free),Manjaro自带的驱动精灵会帮你安装好所需驱动,笔记本双显卡则会帮你安装b ...