linux定时删除N天前的文件(文件夹)

共 987字,需浏览 2分钟

 ·

2021-07-14 11:23

近期在业务中,给定的磁盘只有22T容量,为了避免爆盘,业务需要定时清除数据,根据网上的资料总结了一下设置方法:可以使用find命令

find 路径 -mtime +天数 -type f -name "文件名" -exec rm -rf {} ;

find /tmp -mtime +30 -type f -name "*" -exec rm -rf {} \;/tmp --设置查找的目录;-mtime +30 --设置修改时间为30天前;-type f --设置查找的类型为文件;其中f为文件,d则为文件夹-name "*" --设置文件名称,可以使用通配符;-exec rm -rf --查找完毕后执行删除操作; {} \; --固定写法

另外的方法大同小异:

[hadoop@oyhadoop021 nokia_temp]$#find /tmp -mtime +30 -type f | xargs rm -rf
可以吧这个命令写到脚本里,
cleandata.sh
find /tmp -mtime +30 -type f -name "*" -exec rm -rf {} \;
配置可执行
chmod u+x ./cleandata.sh

配置到crontab

crontab -e0 0 * * *  /home/username/cleandata.sh > /dev/null 2>&1每天零点自动执行其中:第一个*号表示时间中的 分钟  取值范围:0-59第二个*号表示时间中的 小时  取值范围:0-23第三个*号表示一个月中的第几天,取值范围:1-31第四个*号表示一年中的第几个月,取值范围:1-12第五个*号表示一个星期中的第几天,以星期天开始依次的取值为0707都表示星期天

浏览 27
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报