记录一下,有用到的时候我再来翻翻吧
#!/bin/bash
delete_path=$1
#当前日期
current_date=`date +"%Y-%m-%d"`
echo "当前的日期:$current_date"
echo "需要删除操作的目录:${delete_path}"
#遍历文件夹删除文件夹内容size小于6 的目录
for sizfile in `ls -l ${delete_path} | awk '{ print $5"@"$9 }'`;do
size=${sizfile%%@*}
path=${sizfile##*@}
if [ "$size" == "" ];then
continue
fi
echo "file_path:${path} file_size:${size}"
if [ $size -lt 7 ];then
`rm -rf ${delete_path}/${path}`
echo "delete ${path}"
fi
done
#遍历文件夹按日期进行排序,保留三个最近日期的文件夹,其他删除
filenum=`ls ${delete_path}|wc -l`
num=`expr $filenum - 3 `
echo $filenum
echo $num
if [ $num -le 0 ];then
echo "need to keep 3 dir,can not delete any!!!"
exit 0
fi
flag=0
for dir in `ls ${delete_path}`;do
echo $dir
`rm -rf ${delete_path}/$dir`
flag=`expr $flag + 1`
echo "flag>>> ${flag}"
if [ $flag -le $num ];then
break
fi
done