linux ll列表七天前的文件并删除(批量删除七天前的文件)

小vps硬件差,为控制缓存文件数量,程序没有回收和过期缓存的功能,
就暂时需要运维定期清理七天前的文件。
先找个目录 测试下看

find ./ -mtime +5

对下时间

ll -rt `find ./ -mtime +5`

v1.png
删除

find ./ -mtime +5 | xargs rm -f

删除完成

mtime参数的理解应该如下:
-mtime n 按照文件的更改时间来找文件,n为整数。

n 表示文件更改时间距离为n天
-n 表示文件更改时间距离在n天以内
+n 表示文件更改时间距离在n天以前
例:

-mtime 0 表示文件修改时间距离当前为0天的文件,即距离当前时间不到1天(24小时)以内的文件。
-mtime 1 表示文件修改时间距离当前为1天的文件,即距离当前时间1天(24小时-48小时)的文件。
-mtime+1 表示文件修改时间为大于1天的文件,即距离当前时间2天(48小时)之外的文件
-mtime -1 表示文件修改时间为小于1天的文件,即距离当前时间1天(24小时)之内的文件

除了mtime,还有atime 最后访问时间 ctime 创建时间

#自动删除48小时之前的.zip文件
dir=/web/backup/
find $dir -name "*.zip" -mtime +1 | xargs rm -f
echo `date +'%Y-%m-%d %H:%M:%S'` 清除备份 > $dir'/delSql.log'

相关资料参考:
https://www.cnblogs.com/PandoraX/p/4568879.html
https://www.cnblogs.com/sandea/p/6457921.html
https://blog.51cto.com/zhangrf/2096093


标签: none

非特殊说明,本博所有文章均为博主原创。

最新文章

发表评论