• tomcat日志切割和定期删除


    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

  • 相关阅读:
    计算机服务器分类
    二进制和十进制转换
    计算机发展历史
    Linux运维学习第二周记
    Linux运维学习第一周记
    使用正则表达式替换文件内容 分类: python 小练习 2013-08-13 15:07 332人阅读 评论(0) 收藏
    Python 中的 socket 编程 分类: socket 2013-08-10 17:17 377人阅读 评论(0) 收藏
    python简单的socket 服务器和客户端 分类: socket 2013-08-10 16:44 455人阅读 评论(0) 收藏
    Python Socket API 笔记 分类: socket 2013-08-10 15:06 2320人阅读 评论(0) 收藏
    vim 7的 无限回退功能 分类: ubuntu 2013-08-09 14:04 672人阅读 评论(0) 收藏
  • 原文地址:https://www.cnblogs.com/panchanggui/p/9303250.html
Copyright © 2020-2023  润新知