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.
#!/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:
[email protected]
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
[email protected] < /u01/scripts/spaceResult.txt
/usr/sbin/ssmtp
[email protected] < /u01/scripts/spaceResult.txt
/usr/sbin/ssmtp
[email protected] < /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
[email protected] < /u01/scripts/spaceResult.txt
/usr/sbin/ssmtp
[email protected] < /u01/scripts/spaceResult.txt
/usr/sbin/ssmtp
[email protected] < /u01/scripts/spaceResult.txt
fi