redhat中如何快速删除大量小文件

业务系统每天会在一个目录下产生大约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

将临时文件挂载到一个卷上,然后直接通过格式化这个卷完成删除。

你为什么用好几个for循环?循环加上写入和从文件读取记录,是不是增加了额外的资源消耗,类似下面的语句可不可以

find /backup/fr/ -mtime +3 -delete

http://blog.csdn.net/wzqzhq/article/details/70225284