业务系统每天会在一个目录下产生大约300万个临时文件,每个文件大约100K左右,自己写了一个脚本文件,每天定时删除,最近由于业务量的增长,这个脚本已经不能胜任这个工作了,请问有没有更好的办法来删除这些文件?
附上脚本文件代码
#!/bin/bash
time=date -d "3 day ago" "+%Y%m%d"
date > /root/date_start_t.txt
ls /backup/fr > dir_t.txt
for i in cat dir_t.txt
do
ls /backup/fr/$i > dir1_t.txt
echo $time-$i
if [ $i -gt $time ]
then
break
fi
for j in cat dir1_t.txt
do
ls /backup/fr/$i/$j > dir2_t.txt
for k in cat dir2_t.txt
do
ls /backup/fr/$i/$j/$k > dir3_t.txt
for l in cat dir3_t.txt
do
chmod -R 755 /backup/fr/$i/$j/$k/$l
rm -rf /backup/fr/$i/$j/$k/$l
echo /backup/fr/$i/$j/$k/$l
done
done
rm -rf /backup/fr/$i/$j/*
echo /backup/fr/$i/$j >> /root/date_end_t.txt
date >> /root/date_end_t.txt
done
rm -rf /backup/fr/$i/*
echo /backup/fr/$i >> /root/date_end_t.txt
date >> /root/date_end_t.txt
rm -rf /backup/fr/$i
done
date >> /root/date_end_t.txt