博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
日志删除脚本
阅读量:6954 次
发布时间:2019-06-27

本文共 1095 字,大约阅读时间需要 3 分钟。

说明:需在脚本目录下创建文件log_arg.txt,第一列为日志路径,第二列日志名,第三列至少要保存的日志文件数量,第四列删除多少天之前的日志。

log_arg.txt 文件内容:

# first: log dir

# secound: log name

# third: log file not less than

# forth: delete log how many days ago 

/glassfish/dm02n02s02/dm02c03s02/logs server.log_\* 20 7

/glassfish/dm02n02s02/dm02c03s04/logs server.log_\* 20 7

脚本rm_log.sh内容:

#!/bin/bash

dn=`dirname $0`

cd $dn

awk '/^[^#]/' log_arg.txt | while read log

do 

    logarr=($log)

    len=${#logarr[@]}

    dir=${logarr[0]}

    fn=${logarr[1]}

    cnt=${logarr[2]}

    dt=${logarr[3]}

    if [ $len != 4 ]; then

        echo "Line \"$log\" is error"

        continue

    fi        

    [[ ! -d $dir ]] && echo "$dir is not exist" && continue

    [[ ! "$cnt" =~ ^[0-9]+$ ]] && echo "$cnt is not a number" && continue

    [[ ! "$dt" =~ ^[0-9]+$ ]] && echo "$dt is not a number" && continue

    acnt=`find $dir -type f -name $fn -ctime -$dt | wc -l`

    echo "$dir $acnt $cnt"

    if [ $acnt -ge $cnt ] ; then

        echo "Now delete $dt days ago logs in $dir. Log files $fn not less than $cnt."

        find $dir -type f -name $fn -ctime +$dt | xargs rm -f

    fi

done

     本文转自1321385590 51CTO博客,原文链接:http://blog.51cto.com/linux10000/1961394
,如需转载请自行联系原作者
你可能感兴趣的文章
[20190423]那个更快的疑问3.txt
查看>>
[20170705]理解linux su命令.txt
查看>>
iOS - ImageCache 网络图片缓存
查看>>
如何调整eclipse中代码字体大小
查看>>
ubuntu16.04下python2、python3环境选择与python升级(pip版本切换)
查看>>
FQDN说明
查看>>
java基础---常用类!
查看>>
discuz论坛后台部分设置更改之后,清除了缓存网站前台不更新不生效的解决办法...
查看>>
ACM-ICPC 2018 沈阳赛区网络预赛 F Fantastic Graph(贪心或有源汇上下界网络流)
查看>>
关于js修改三种css样式的方法
查看>>
sofa
查看>>
控件绑定值“正则占位符取值”
查看>>
C#_集合与泛型集合
查看>>
Hibernate ORM框架——续第一章:Hibernate的增删改查(第一个hibernate代码的优化)...
查看>>
可扩展性设计之Cache与Search的利用
查看>>
poj2528
查看>>
FortiGate软件版本升级
查看>>
f5健康检查
查看>>
spring boot 配置文件语法
查看>>
scrapy-splash抓取动态数据例子三
查看>>