O objetivo deste script, é criar uma rotina de um possível e já existente sistema de monitoramento (Zabbix, Nagios, etc), que alerta o responsável pelo backup, ou área do backup, a indisponibilidade de espaço necessário para realização do backup naquele momento (ou pelo menos, algumas horas antes), auxiliando na intervenção do responsável.
Considere que o espaço mínimo necessário para um backup seja de 60 GB e que por diversas vezes o backup não foi realizado, pois, o responsável esqueceu de remover os arquivos ou copiar para outra área, este script irá enviar para as áreas responsáveis um e-mail alertando que não existe espaço em disco para realizar a atividade.
Este script faz a utilização do SSMTP (basta instalar via
yum ou
apt-get):
Exemplo do SSMTP:
# cat /etc/ssmtp/ssmtp.conf | grep -v "#"
Alert=Informacoes
mailhub=mail.xibitoto.net.br:465
Hostname=EBS
FromLineOverride=YES
UseTLS=YES
UseSTARTTLS=YES
AuthUser=tecno@xibitoto.com.br
AuthPass=hadouken
AuthMethod=LOGIN
# cat /etc/ssmtp/revaliases | grep -v "#"
root:tecno@xibitoto.com.br:mail.xibitoto.net.br:25
Script:
#!/bin/bash
echo "Criador - Thierry Vanden Broucke"
echo "Versao 1.2"
echo "ChangeLog :"
echo " - 1.2 - Ajuste de tratamento de valores acima de 60 GB"
echo " - 1.1 - Ajuste de tratamento de numeros reais"
echo " - 1.0 - Criacao do script, tratando o valor do disco de backup informando caso o espaco esteja abaixo de 60 GB"
touch /u01/scripts/spaceResult.txt
echo "To: backup@xibica.com.br
Subject: Alerta de espaco em disco do Backup - Informacoes de alerta" > /u01/scripts/spaceResult.txt
date >> /u01/scripts/spaceResult.txt
echo "Informacoes de espaco em disco em /mnt/backup" >> /u01/scripts/spaceResult.txt
DISKSIZEINT=`df -h /mnt/backup/ | awk '{ print $3 }' | tail -n 1 | cut -d "G" -f 1`
if [ $DISKSIZEINT -gt 61 ];
then
echo "Espaco em disco com folga."
exit
fi
if [ $DISKSIZEINT -lt 60 ];
then
echo "A falta de espaco em disco impede que o proximo processo de Backup seja realizado.
Espaco minimo necessario: 60 GB
Espaco atual livre: $DISKSIZEINT GB" >> /u01/scripts/spaceResult.txt
/usr/sbin/ssmtp backup@xibica.com.br < /u01/scripts/spaceResult.txt
/usr/sbin/ssmtp sistem@xibica.com.br < /u01/scripts/spaceResult.txt
/usr/sbin/ssmtp adm@xibica.com.br < /u01/scripts/spaceResult.txt
elif [ `echo $DISKSIZEINT | grep "."` ];
then
echo "A falta de espaco em disco impede que o proximo processo de Backup seja realizado.
Espaco minimo necessario: 60 GB
Espaco atual abaixo de 10 GB
Espaco atual livre: $DISKSIZEINT GB" >> /u01/scripts/spaceResult.txt
/usr/sbin/ssmtp backup@xibica.com.br < /u01/scripts/spaceResult.txt
/usr/sbin/ssmtp sistem@xibica.com.br < /u01/scripts/spaceResult.txt
/usr/sbin/ssmtp adm@xibica.com.br < /u01/scripts/spaceResult.txt
fi
Espero ter ajudado alguém.
Nenhum comentário foi encontrado.