zoukankan      html  css  js  c++  java
  • Linux下删除日志文件

    日志文件名如:2020-11-11.log  2020-11-20.log

    1.删除比当前时间小的日志文件

    ------------------------------成功的脚本。目的:是删除比当前时间小的日志文件----------------------------
    执行脚本的方式: sh  auto-del-log.sh 
    [doudou@centosaly workspace]$ cat -b auto-del-log.sh 
        #!/bin/sh
        cd  /home/doudou/workspace/logs_bak
        path=`pwd`
        echo $path
        echo "we are now at:  $path"
        t1=`date +%Y-%m-%d`
        t11=`date -d "$t1" +%s` 
        echo $t11
        files=$(ls $path)
        for file in $files
        do
             echo $file
             array=(${file//./ })
             echo ${array[0]}
        
            t2=`date -d "${array[0]}" +%s`
            echo $t2
             if [ "$t11"  -gt  "$t2" ];then
                    rm -rf $file
                    echo "删除成功!!!" 
             fi
        done

    2.通过传参的方式,删除指定日期以前的日志

    ----------------------通过传参-$1的方式,删除指定时间之前的日志----------------------------
    执行脚本的方式: sh  auto-del-parameter-log.sh  2020-10-01(自定义就行)
    
    [doudou@centosaly workspace]$ cat -b auto-del-parameter-log.sh 
        #!/bin/sh
        cd  /home/doudou/workspace/logs_bak
        path=`pwd`
        echo $path
        echo "we are now at:  $path"
        t11=`date -d "$1" +%s` 
        echo $t11
        files=$(ls $path)
        for file in $files
        do
             echo $file
             array=(${file//./ })
             echo ${array[0]}
            t2=`date -d "${array[0]}" +%s`
            echo $t2
             if [ "$t11"  -gt  "$t2" ];then
                    rm -rf $file
                    echo "删除成功!!!" 
             fi
        done

    3.常规的删除日志的脚本 删除30天之前的日志

    --------------------常规的解决办法--------------------------------
    find /home/doudou/workspace/logs/     -mtime +30 -name "*.log" -exec rm -rf {} ;

    踩过的坑:

    1.    if [   "$t11"    -gt  "$t2"  ];then 

    2个比较的变量 前后都必须有空格,不然会报语法错误

    2.date 日期比较 实际是根据时间戳比较的

    3.分割:加深理解下!!!

    array=(${file//./ })
    echo ${array[0]}

    ${parameter//pattern/string} 
    用string来替换parameter变量中所有匹配的pattern

    可参考链接:https://blog.csdn.net/github_33736971/article/details/53980123
    4.整数比较
    -eq 等于,如:if ["$a" -eq "$b" ]
    -ne 不等于,如:if ["$a" -ne "$b" ]
    -gt 大于,如:if ["$a" -gt "$b" ]
    -ge 大于等于,如:if ["$a" -ge "$b" ]
    -lt 小于,如:if ["$a" -lt "$b" ]
    -le 小于等于,如:if ["$a" -le "$b" ]

     5.   :set nu  

    在VI的命令模式下输入“:set nu”,然后回车,就可以看到代码左侧 出现行号

  • 相关阅读:
    Python排列函数:sort、sorted
    Python高阶函数:map、reduece、filter
    Python:容器、迭代对象、迭代器、生成器及yield关键字
    JPA-映射-(@OneToOne)双向一对一
    JPA-映射-(@OneToMany、@ManyToOne)双向一对多
    JPA-映射-(@OneToMany)单向一对多
    JPA-映射-(@ManyToOne)单向多对一
    JPA-EntityManager.merge()
    JPA-API
    leetcode 2.Add Two Numbers
  • 原文地址:https://www.cnblogs.com/eosclover/p/13984529.html
Copyright © 2011-2022 走看看