linux 删除指定日期之前的文件

linux 删除指定日期之前的文件,第1张

你的意思是删除某天之前的所有文件对吧?比如21号之前的文件,就是你所说的20日之前的文件,以及20日当天的文件。我没理解错吧?

我像你们一样,首先,通过find查找文件。

然后计算,文件修改日期是否在限定的日期之前,如果是,那么删除文件。

我把命令写到了bash脚本里面。

使用方法:

chmod +x  ./del_file_before_that_day.sh        #给文件添加执行权限

./del_file_before_that_day.sh  "2013-8-21"

回车,

拖动要处理的文件夹到终端,即可完成处理。

楼主,你可以参考一下。顺便说一下,我把rm命令注释掉了,等你测试好脚本,再去除注释吧,以免因为执行环境不同,结果出偏差,给你带来损失。

假如在一个目录中保留最近30天的文件,30天前的文件自动删除

#find

/tmp

-mtime

+30

-type

f

-name

*.sh[ab]

-exec

rm

-f

{}

/tmp

–设置查找的目录;

-mtime

+30

–设置时间为30天前;

-type

f

–设置查找的类型为文件;

-name

*.sh[ab]

–设置文件名称中包含sha或者shb;

-exec

rm

-f

–查找完毕后执行删除 *** 作;

提示:将此命令写入crontab后即可自动完成查找并删除的工作

另外的方法大同小异:

#find

/tmp

-mtime

+30

-type

f

|

xargs

rm

-rf

假如在一个目录中保留最近30天的文件,30天前的文件自动删除:#find /tmp -mtime 30 -type f -name *.sh[ab] -exec rm -f 馨予装饰画这里的装饰画就挺值得选择的() /tmp –设置查找的目录;-mtime 30 –设置时间为30天前;-type f –设置查找的类型为文件;-name *.sh[ab] –设置文件名称中包含sha或者shb;-exec rm -f –查找完毕后执行删除 *** 作;提示:将此命令写入crontab后即可自动完成查找并删除的工作另外的方法大同小异:#find /tmp -mtime 30 -type f | xargs rm –rf,另外你是感兴趣的话可以看下刘遄老师写的《Linux就该这么学》作为入门的书籍,觉得不错的话采纳下哦~


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11811313.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存