• 自动清空Tomcat日志的办法


    cd /usr/local/tomcat7/logs
    
    #清空日志
    echo > catalina.out
    
    
    vi r.sh
    
    
    #!/bin/sh
    
    ######################################################################
    # 日志定时运行时间为每天0点1分
    # 删除20天之前的日志文件,压缩一周之前的日志文件
    # 日志文件时间是根据日志名称后面的日期来计算
    # 运行脚本注意日志文件中是否有其他相同后缀的非日志文件和日志文件名称是否符合要求
    ######################################################################
    
    #日志文件所在目录
    path=/usr/local/tomcat7/logs
    
    #进入日志目录
    cd $path
    
    #catalina.out日志文件备份
    #获取前一天的日期
    bak_date=`date +%Y-%m-%d -d "1 days ago"`
    #备份catalina.out日志,后面添加日期
    cp catalina.out catalina.out.$bak_date.log
    #清空catalina.out日志文件
    echo > catalina.out
    
    
    #7天之前的日志文件删除
    #获取7天之前的日期
    del_date=`date +%Y-%m-%d -d "7 days ago"`
    #获取文件名中的日期字符串,然后对比时间进行相应的操作,localhost_access_log的后缀文件名一般是txt,这里包括txt文件
    for n in `ls *.log *.txt -1`;do
        m=`echo $n | awk -F. '{print $(NF-1)}'`
        m=`echo ${m:0-10}`
        if [[ $m < $del_date || $m = $del_date ]];then
            echo file $n will be deleted.
            rm -rf $n
        fi
    done
     
    chmod +x r.sh
    
    
    echo "0 01 * * * root /usr/local/tomcat7/logs/r.sh > /dev/null 2>&1" >> /etc/crontab
    
    service crond restart
  • 相关阅读:
    linux静态链接库
    查看进程运行时间
    进程间同步-互斥量
    Linux——多线程下解决生产消费者模型
    Linux——线程
    浅谈智能指针的历史包袱
    C++ 模板基础
    用信号量为共享内存添加同步机制
    Linux——浅析信号处理
    浅析fork()和底层实现
  • 原文地址:https://www.cnblogs.com/littlehb/p/7279225.html
Copyright © 2020-2023  润新知