linux根据日期时间批量删除文件(删除N天前的文件)

一、使用find先查出来,然后执行删除

1、find 部分参数说明

-amin -n: 最后一次访问发生在 n分钟 之内
-amin n:  最后一次访问发生在距离当前时间 n分钟 至 (n+1)分钟
-amin +n: 最后一次访问发生在 (n+1)分钟 之外

-atime -n: 最后一次访问发生在 n天 之内
-atime n:  最后一次访问发生在 n天 至 (n+1)天 
-atime +n: 最后一次访问发生在 (n+1)天 之外

-cmin -n: 最后一次文件状态修改发生在 n分钟 之内
-cmin n:  最后一次文件状态修改发生在 n分钟 至 (n+1)分钟
-cmin +n: 最后一次文件状态修改发生在 (n+1)分钟 之外

-ctime -n: 最后一次文件状态修改发生在 n天 之内
-ctime n:  最后一次文件状态修改发生在 n天 至 (n+1) 天
-ctime +n: 最后一次文件状态修改发生在 (n+1)天 之外

-mmin -n: 最后一次文件内容修改发生在 n分钟 之内
-mmin n:  最后一次文件内容修改发生在 n分钟 至 (n+1)分钟
-mmin +n: 最后一次文件内容修改发生在 (n+1)分钟 之外

-mtime -n: 最后一次文件内容修改发生在 n天 之内
-mtime n:  最后一次文件内容修改发生在 n天 至 (n+1)天
-mtime +n: 最后一次文件内容修改发生在 (n+1)天 之外


2、使用 find 命令 先找到n天之外的文件(这里假设找到 3天前的文件)

# 在/www/wwwroot/shengsi-zhejiang/public/uploads/spot/Array/face 目录下查找3天以前的所有类型的文件
find /www/wwwroot/shengsi-zhejiang/public/uploads/spot/Array/face -name "*" -mtime +3


3、将查找到的这些文件执行删除

# 利用 -exec参数 如果查找有返回 可在exec参数后 加上需要操作的命令 查找结果用{}来代替
find /www/wwwroot/shengsi-zhejiang/public/uploads/spot/Array/face -name "*" -mtime +3 -exec rm -rfv {} \;


4、其它补充:

"*.*":希望查找的文件类型

"*.jpg":表示查找扩展名为jpg的文件

"*":表示查找所有类型的文件 



声明:禁止任何非法用途使用,凡因违规使用而引起的任何法律纠纷,本站概不负责。

小周博客
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

精彩评论

全部回复 0人评论 7,777人参与

loading