Linux删除若干天前的文件夹

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux删除若干天前的文件夹相关的知识,希望对你有一定的参考价值。

注意是删除若干天前的文件夹。需求:
1、指定路径/home/dir下有以日期命名的文件夹,例如20180309,20180310,20180311等。
2、需要通过脚本定时删除指定路径/home/dir下3天前的文件夹。

#!/usr/bin/env bash

three_days_ago=$(date -d -3day +%Y%m%d)
workpath=/home/dir
for file in $workpath/*; do
file_name=`basename $file`
if [[ $file_name -lt $three_days_ago ]]; then
rm -rf $file
fi
done

参考技术A find /home/dir -mtime +3 -exec rm -rf \;追问

没有效果。

追答

因为三天之内修改过

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

参考技术A

磁盘只有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都表示星期天

以上是关于Linux删除若干天前的文件夹的主要内容,如果未能解决你的问题,请参考以下文章

linux自动删除7天前的文件

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

linux下定期删除指定文件夹下2天前的文件

Linux 删除几天前的文件脚本

linux的一个find命令配合rm删除某天前的文件

linux脚本,自动备份前一天修改过的文件并且删除7天前的文件