美文网首页
shell脚本按日期自动清理日志

shell脚本按日期自动清理日志

作者: 小名源治 | 来源:发表于2023-04-25 18:19 被阅读0次

    最近在做日志清理,日志匹配第一次弄,记录下
    日志类型: req.2023-04-01.log.1

    重点是写的正则表达式和获取时间

    知识点:
    1.获取日期
    %Y-%m-%d是YYYY-mm-dd类型的日期

    #获取今天的日期
    date +%Y-%m-%d
    #获取前天的日志(数字2代表两天前)
    date -d "2 days ago" +%Y-%m-%d
    $(date -v-2d +%Y-%m-%d   #注:改命令仅适用于macOS系统
    

    2.获取文件名(通过文件获取,$file是文件)

    filename=$(basename "$file")
    

    3.匹配日期的正则表达式

    #示例
    $file_name =~ ^(debug|error|info|req)\.[0-9]{4}-[0-9]{2}-[0-9]{2}\.log\.[0-9]+$
    shell脚本中要判断正则表达式需要用=~
    ^号开头  $结尾
    [0-9]{2} 的意思是匹配0-9的数字,有两位00~99,以此类推
    [0-9]+ 的意思是匹配数字,可以是1位或者无数位
    

    4.判断文件类型

    #普通文件(注意,前后都要有空格)
    if [ -f "$file" ]
    #文件夹
    if [ -d "file" ]
    

    相关文章

      网友评论

          本文标题:shell脚本按日期自动清理日志

          本文链接:https://www.haomeiwen.com/subject/ualmjdtx.html