Linux 每天删除一个月前的日期文件

@羲凡——只为了更好的活着

Linux 每天删除一个月前的日期文件

公司中总有一些按照日期来命名的文件夹(比如日志文件等),需要定时的删除一个月以前或两个月以前的历史数据。
假如 /aarontest/data/ 目录下存放在一下文件夹

20181122123456
20181212123456
20181222123456
20190122123456

现在要删除30天前的文件夹,执行脚本如下

#!/bin/bash
Folder_Name=/usr/local/package/aarontest/data
Del_Log=$Folder_Name/del-onemonths-ago-file.log
echo `date  +%Y年%m月%d日%H时%M分%S秒` >> $Del_Log
Today=`date -d '-30 days' +%s`
for folder_name in ${Folder_Name}/*
do
    Temp_file=`basename $folder_name`
	if [ `date -d ${Temp_file:0:8} +%s` -lt ${Today} ]
	then	
		echo ${Temp_file:0:8} >> $Del_Log
		rm -rf ${Folder_Name}/${Temp_file}
		echo "==="${Folder_Name}/${Temp_file}" delete over !!!===" >> $Del_Log
	fi
done
echo "已经删除1个月前的文件夹" >> $Del_Log

执行完,生成del-onemonths-ago-file.log日志文件

2019年01月31日13时31分53秒
20181122
===/aarontest/data/20181122123456 delete over !!!===
20181212
===/aarontest/data/20181212123456 delete over !!!===
20181222
===/aarontest/data/20181222123456 delete over !!!===
已经删除1个月前的文件夹

将上述删除脚本放入crontab中,每天早上八点执行

0 8 * * * bash /aarontest/Data/del-onemonths-ago-file.sh

====================================================================

@羲凡——只为了更好的活着

若对博客中有任何问题,欢迎留言交流

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值