暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

412.定时删除日志文件

由于日志不断新增,隔断时间磁盘就会告警,准备写一个 Shell 脚本定时删除日志文件。

历史数据,保留近7天数据

    find export/Logs/QueryAnalysis/ -name "info20*" -mtime +7 | xargs bin/rm -f
    复制

    当天数据,保留最新的两个文件

    刚开始我是这样写的:

      date=$(date "+%Y%m%d")
      find export/Logs/QueryAnalysis/ -name "info"$date* | xargs ls -t | sed -n '3,$p' | xargs bin/rm -f
      复制

      还好同事发现这种写法有问题:当指定录下存在 info$date* 文件时,通过 xargs ls -t 会显示当前目录下的所有文件。

      所以,这种写法极易误删文件。

      最后改成这样就安全了:

        date=$(date "+%Y%m%d")
        ls -t export/Logs/QueryAnalysis/* | grep "info$date" | sed -n '3,$p' | xargs /bin/rm -f
        复制

        每天一个开发小知识

        2022.5.26


        ​​
        文章转载自每天一个开发小知识,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

        评论