• cronolog日志切割catalina.out


    cronolog日志切割catalina.out

    (一)解压安装cronolog

    1:wget  https://files.cnblogs.com/files/crazyzero/cronolog-1.6.2.tar.gz  //下载cronolog

    2:tar zxf cronolog-1.6.2.tar.gz     //解压cronolog

    3:cd cronolog-1.6.2             //进入安装目录

    4:./configure && make && make install     //编译安装

    5:which cronolog               //执行后可以看到/usr/local/sbin/cronolog  安装的目录

    (二)修改catlina.sh配置文件

    1:vim catalina.sh

    2:将:

    if [ -z "$CATALINA_OUT" ] ; then
    
      CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out
    
    fi
    
    改为:
    
    if [ -z "$CATALINA_OUT" ] ; then
    
      CATALINA_OUT="$CATALINA_BASE"/logs/%Y-%m-%d.catlina.out
    
    fi

    3:将:

    touch "$CATALINA_OUT"
    
    改为:
    
    #touch "$CATALINA_OUT"

    4:将:

    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 &

    5:将:

    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 &

    第4步与第5步一个是if里的一个是else里的不一样需要全改

     

    然后重启tomcat就可以生成一个xxxx-xx-xx.catlina.out的文件。

    定时清理日志:

    想要写一个Shell脚本,定期清理掉久远的日志文件 ,避免磁盘不断被占用。

    touch auto_del_log.sh
    chmod +x auto_del_log.sh
    
    vi auto_del_log.sh
    
    #!/bin/bash
    find /home/tomcat8/logs/ -type f -mtime +7 -name “*.out” -exec rm -rf {} ;
    find /home/tomcat8/logs/ -type f -mtime +7 -name “*.out” -exec rm -rf {} ;

    参数含义:

    find用来在指定目录下查找文件

    /home/tomcat8/logs/  查找路径

    -type 类型 f 普通文件 l 符号连接 d 目录 c 字符设备 b 块设备 s 套接字p Fifo

    -mtime <24小时数>:查找在指定时间曾被更改过的文件或目录,单位以24小时计算;

     

    {} 用于与-exec选项结合使用来匹配所有文件,然后会被替换为相应的文件名

    http://47.106.124.85/?id=3

    windows删除日志

    forfiles /p " D: Tomcat 6.0logs " /s /m *.log /d -7 /c "cmd /c del @path"

    forfiles /p " D: Tomcat 6.0logs " /s /m *.txt /d -7 /c "cmd /c del @path"

    加入计划任务中执行

    语法
    forfiles [/p Path ] [/m SearchMask ] [/s ] [/c Command ] [/d [{+ | - }] [{MM / DD / YYYY | DD }]]
    参数
    /p Path
    指定Path ,表明要从哪里开始搜索。默认的文件夹是当前工作目录,该目录通过键入句号(.) 指定。
    /m SearchMask
    按照SearchMask 搜索文件。默认的SearchMask 是*.* 。
    /s
    指示forfiles 在子目录中搜索。
    /c Command
    在每个文件上运行指定的Command 。带有空格的命令字符串必须用引号括起来。默认的Command 是"cmd /c echo @file" 。
    /d [{+ | - }] [{MM / DD / YYYY | DD }]
    选择日期大于或等于(+ )(或者小于或等于(- ))指定日期的文件,其中MM / DD / YYYY 是指定的日期,DD 是当前日期减去DD 天。如果未指定+ 或- ,则使用+ 。DD 的有效范围是0 - 32768。
    /?

  • 相关阅读:
    如何在myeclipse上使用git(码云)
    myeclipse使用git图文教程
    内存buffer转换为多维数组访问
    fd究竟是何方神圣
    getline c实现
    TLB初始化 Missing Handler,MIPS R3K mips_init_tlb
    Ubuntu 16.04 风扇特别响解决办法
    MySQL安装与卸载
    linux项目环境部署入门
    MySQL入门笔记一
  • 原文地址:https://www.cnblogs.com/luck666/p/10255144.html
Copyright © 2020-2023  润新知