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”,然后回车,就可以看到代码左侧 出现行号

  • 相关阅读:
    37. Sudoku Solver(js)
    36. Valid Sudoku(js)
    35. Search Insert Position(js)
    34. Find First and Last Position of Element in Sorted Array(js)
    33. Search in Rotated Sorted Array(js)
    32. Longest Valid Parentheses(js)
    函数的柯里化
    俞敏洪:我和马云就差了8个字
    vue路由传值params和query的区别
    简述vuex的数据传递流程
  • 原文地址:https://www.cnblogs.com/eosclover/p/13984529.html
Copyright © 2011-2022 走看看