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

linux定时删除N天前的文件(文件夹),第1张

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

#!/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


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

原文地址:https://54852.com/yw/8483171.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存