删除/data/logs目录下超过2天的log文件

!!!删除文件时应该非常谨慎,以免误删重要文件!!

设置每分钟执行一次

* * * * * sh /data/rm_audit_log.sh

方式1

# 查找满足条件的文件,并删除
find /data/logs -type f -name "*log*" -mtime +1 -print0 | xargs -0 rm

# 如果find找到符合的文件,删除之;
# 如果find找不到符合的文件,rm命名没有参数,报错rm: missing operand。

方式2

find /data/logs -type f -name "*log*" -mtime +1 -exec rm -rf {} \;

# 如果find找到符合的文件,删除之;
# 如果find找不到符合的文件,则不会删掉文件。

方式3(推荐)

复制代码
#!/bin/bash

# 查找符合条件的文件,并将文件名保存到变量中  # -mmin +120 删除最后修改时间为2小时前的
files=$(find /data/logs -type f -name "*log*" -mtime +1)

# 遍历变量中的文件名,对每个文件进行检查并删除符合条件的文件
for file in $files; do
    if [[ $file == *"log"* && $file == *"my-application"* ]]; then
        rm -f "$file"
        echo "Deleted file: $file"
    fi
done
复制代码

 

posted @   szcj~  阅读(70)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示