清理脚本根据上一篇(MongoDB备份脚本)而来,用在其他地方需注意文件名,因为并不是用
find . -mtime +31 -type f -name *.* -exec rm -rf {} \;
只是为了练手
#!/bin/bash
cd /usr/backup/mongodb
year=`date '+%Y'`
month=`date '+%m'`
day=`date '+%d'`
for file_name in `ls`
do
file_path=${file_name:0:7}
if [[ $file_path == mongodb ]]
then
file_year=${file_name:8:4}
file_month=${file_name:13:2}
file_day=${file_name:16:2}
if [[ $file_year -eq $year ]]
then
if [[ `expr $month - $file_month` -gt 2 || (`expr $month - $file_month` -eq 2 && $file_day -lt $day) ]]
then
echo $file_name
fi
elif [[ $file_year -lt $year ]]
then
if [ $file_month -le $month ]
then
rm $file_name
elif [ $file_month -gt $month ]
then
temp=`expr $month + 12`
if [[ `expr $temp - $file_month` -gt 2 || (`expr $temp - $file_month` -eq 2 && $file_day -lt $day) ]]
then
rm $file_name
fi
fi
fi
fi
done