项目中需要定时清理文件夹中的过期文件(本篇文章指定3天前即为过期),百度了几篇博文记录下实现过程
这篇博文是在之后写的,当时的参考博文就没有再找了,有需要的小伙伴可以自行搜索
1.编辑shell脚本,删除指定文件夹下的文件,脚本如下:
vi delete.sh
#! /bin/bash
data_path="/home/test01"
expire_time=3
function(){
local currentDate = `date+%s`
echo "current date is:" $currentDate
for file in `find $1 -name "*.txt"`
do
local name=$file
local modifyDate=$(stat -c %Y $file)
local existTime=$[$currentDate-$modifyDate]
existTime=$[$existTime/86400]
if[ $existTime -gt $exist_time ];then
echo "file:" $name "modify Date:" $modifyDate + "Exist time:" $existTime + "Delete:yes"
rm -rf $file
else
echo "file:" $name "modify Date:" $modifyDate + "Exist time:" $existTime + "Delete:no"
fi
done
}
deletefiles $data_path
2.用crontab命令编辑定时任务,执行以上脚本
输入命令crontab -e进入编辑模式
0 0 * * * sh /aom/delete.shell
每天的00:00执行一次删除脚本