根據磁盤使用率,刪除日期較老的文件
#!/bin/bash
#設置磁盤使用比例
max_size=18
#設置文件存儲目錄
tmp_data=/root/
#文件日志前綴
pre_file=test
#數組長度
arr_len=0
#獲取磁盤使用比率
a=0
int=0
#刪除文件名
tmp_del=''
#刪除文件名絕對路徑
full_del=''
#刪除日志存儲
del_log=del_log.txt
#檢測磁盤使用情況
function is_del(){
a=`df -h / | tail -n 1 | awk '{print $5}'`
int=`echo $a | cut -d '%' -f 1`
if [ ${int} -gt ${max_size} ];then
echo ">>";
return 0;
elif [ ${int} -lt ${max_size} ];then
echo "<<";
return 1;
fi
}
#刪除日志文件,並寫入到刪除日志
function del_name(){
for i in `ls | grep ${pre_file} `;
do
arr[${arr_len}]=`echo $i|sed "s/${pre_file}//"`;
# echo `echo $i|sed "s/${pre_file}//"`;
arr_len=`expr ${arr_len}+1 `
done
tmp_del=`echo ${arr[*]} |xargs -n1 | sort -n | head -n 1`
full_del=${tmp_data}${pre_file}${tmp_del}
\rm -f ${full_del}
if [ $? -eq 0 ];then
echo `date '+%Y-%m-%d %T' ` ${full_del}"已被刪除" >> ${tmp_data}${del_log};
else
echo `date '+%Y-%m-%d %T' ` ${full_del}"刪除失敗" >> ${tmp_data}${del_log};
fi
}
#主函數
function main()
{
is_del;
if [ $? -eq 0 ];then
del_name;
fi
}
main