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

2023-10-01 23:45:34 浏览数 (1)

一、使用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 人点赞