在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。

要求删除一个月之前的备份文件,免得把硬盘给整爆了

location 是设置查找的目录

--mtime +30 是设置时间为30天前

-type f 这周查找的类型为文件

然后加入crontab定时来删除:

设定为每个月1号晚上4点10分执行脚本.当然你也可以根据你自己的需求去整.

相同的删除方法:

磁盘只有22T容量,为了避免爆盘,业务需要定时清除数据,根据网上的资料总结了一下设置方法:

可以使用find命令

另外的方法大同小异:

可以吧这个命令写到脚本里,

cleandata.sh

find /tmp -mtime +30 -type f -name "*" -exec rm -rf {}

配置可执行

chmod u+x ./cleandata.sh

配置到crontab

crontab -e

0 0 * * * /home/username/cleandata.sh >/dev/null 2>&1

每天零点自动执行

其中:

第一个 号表示时间中的 分钟 取值范围:0-59

第二个 号表示时间中的 小时 取值范围:0-23

第三个 号表示一个月中的第几天,取值范围:1-31

第四个 号表示一年中的第几个月,取值范围:1-12

第五个*号表示一个星期中的第几天,以星期天开始依次的取值为0~7,0、7都表示星期天


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

原文地址: http://outofmemory.cn/yw/9021254.html

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

发表评论

登录后才能评论

评论列表(0条)

保存