在Linux中如何删除指定日期之前的一些文件?

在Linux中如何删除指定日期之前的一些文件?,第1张

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

#find /tmp -mtime +30 -type f -name *.sh[ab] -exec rm -f {} /tmp _设置查找的目录;

1、mtime +30 _设置时间为30天前;

2、type f _设置查找的类型为文件;

3、name *.sh[ab] _设置文件名称中包含sha或者shb;

4、exec rm -f _查找完毕后执行删除 *** 作;

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

另外的方法大同小异:#find /tmp -mtime +30 -type f | xargs rm -rf。

@Echo Off&Setlocal Enabledelayedexpansion

More +9 <"%~fs0">tmp.vbs

For /f %%a in ('cscript /nologo tmp.vbs') do Set fd=%%a

Del /q tmp.vbs

For /f "tokens=*" %%a in ('dir /ad /b "%~dp0"') do (

Set a=%%a&Set a=!a:~4!!a:~2,2!!a:~0,2!

If !a! lss !fd! (Echo "%%a"&Rd /q /s "%%a"))

Pause&Rem 删除30天以前的文件夹,不含30天

Exit

L=date()-30

F=right(year(L),4) &right("0" &month(L),2) &right("0" &day(L),2)

wscript.echo F


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

原文地址:https://www.54852.com/yw/9029938.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存