首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >linux定时删除N天前的文件(文件夹)

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

作者头像
码农编程进阶笔记
发布2021-07-19 14:57:55
发布2021-07-19 14:57:55
14.5K0
举报

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

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

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

另外的方法大同小异:

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

配置到crontab

代码语言:javascript
复制
crontab -e
0 0 * * *  /home/username/cleandata.sh > /dev/null 2>&1
每天零点自动执行
其中:
第一个*号表示时间中的 分钟  取值范围:0-59
第二个*号表示时间中的 小时  取值范围:0-23
第三个*号表示一个月中的第几天,取值范围:1-31
第四个*号表示一年中的第几个月,取值范围:1-12
第五个*号表示一个星期中的第几天,以星期天开始依次的取值为0~7,0、7都表示星期天
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-07-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码农编程进阶笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档