欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

linux定时删除30天前的文件

程序员文章站 2022-04-10 17:09:33
...


可以使用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 --设置查找的类型为文件;
-name "*" --设置文件名称,可以使用通配符;
-exec rm -rf --查找完毕后执行删除操作;
 {} \; --固定写法

 

另外的方法大同小异:
#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 -e
0 0 * * *  /home/username/cleandata.sh > /dev/null 2>&1

每天零点自动执行

第一个*号表示时间中的 分钟  取值范围:0-59
第二个*号表示时间中的 小时  取值范围:0-23
第三个*号表示一个月中的第几天,取值范围:1-31
第四个*号表示一年中的第几个月,取值范围:1-12
第五个*号表示一个星期中的第几天,以星期天开始依次的取值为0~7,0、7都表示星期天