Verificando disco de backup e enviando e-mail

Publicado por Thierry em 16/06/2014

[ Hits: 3.053 ]

 


Verificando disco de backup e enviando e-mail



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.

Outras dicas deste autor

Utilizando o uShare como A/V media center

Leitura recomendada

Comando para mostrar o IP utilizado na Internet

Sincronizando data e hora com relogio atômico

Script para Ripar um cd inteiro

Renomeando arquivos de maiúsculo para minúsculo

Contabilizando Linhas e Palavras de um Projeto com Shell Script

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts