luizcarlos18rj
(usa Suse)
Enviado em 28/05/2014 - 12:24h
Após muita pesquisa "me safei" criando o código abaixo, mas como sou iniciante e não sei quase nada, embora ele cumpra o objetivo que é fazer uma vrf no tamanho do disco antes e depois da cópia excluindo o bkp mais antigo caso disco cheio, tenho ceteza que vcs podem me ajudar a melhorá-lo, mas fica pra futura referencia...
calcula_becapes(){
#
tamanho_disco_H=`df -h | grep backup-bkpservidores | cut -d" " -f3`
tamanho_disco=`echo $tamanho_disco_H | tr -d 'TG'`
tamanho_disco_aprox=$(echo "($tamanho_disco*1024)" | bc)
#
tamanho_pasta_H=`du -hs $pasta| cut -f1`
tamanho_pasta=`echo $tamanho_pasta_H | tr -d 'TG'`
#
becapes_possiveis=$(echo "(($tamanho_disco*1024)/$tamanho_pasta)-1" | bc)
#
pasta_excluir=`ls -1ltr | grep -m 1 bkp | cut -d" " -f9`
#
uso_H=`df -h | grep backup-bkpservidores | cut -d" " -f9`
uso=`echo $uso_H | tr % " "`
#
livre_H=`df -h | grep backup-bkpservidores | cut -d" " -f7`
livre=`echo $livre_H | tr -d 'TG'`
#
qtdbecapes=$(echo "$livre/$tamanho_pasta" | bc)
#
if [ $qtdbecapes -gt 0 ]; then
echo "Disco com $uso_H de sua capacidade total em uso, ainda é possível realizar $qtdbecapes becape(s)" >> /root/backup/controle.txt
else
echo "DISCO CHEIO!!! Excluindo o becape mais antigo." >> /root/backup/controle.txt
rm -rf $pasta_excluir
#
# Releitura de variáveis após liberação de espaço
#
uso_H2=`df -h | grep backup-bkpservidores | cut -d" " -f9`
livre_H2=`df -h | grep backup-bkpservidores | cut -d" " -f7 | tr -d 'TG'`
qtdbecapes2=$(echo "$livre2/$tamanho_pasta" | bc)
#
echo "Diretório excluido: $pasta_excluir" >> /root/backup/controle.txt
echo "*******************************************************" >> /root/backup/controle.txt
echo "*********| Análise do Volume: |*********" >> /root/backup/controle.txt
echo "*******************************************************" >> /root/backup/controle.txt
echo "Tamanho total do Volume: $tamanho_disco_H (+- $tamanho_disco_aprox GB)" >> /root/backup/controle.txt
echo "Tamanho total do becape atual: $tamanho_pasta_H" >> /root/backup/controle.txt
echo "Capacidade Total de becape(s)do Volume: $becapes_possiveis" >> /root/backup/controle.txt
echo "Espaço ocupado em Disco: $uso_H2" >> /root/backup/controle.txt
echo "Espaço Livre: $livre_H2" >> /root/backup/controle.txt
echo "Quantidade possível de becapes restantes: $qtdbecapes2 " >> /root/backup/controle.txt
echo "Obs.: Qtd possível de becapes em função no tamanho atual da pasta de becape" >> /root/backup/controle.txt
fi
echo "--------------------------------------------------------------------" >> /root/backup/controle.txt
#
}