Verificando disco de backup e enviando e-mail

Publicado por Thierry em 16/06/2014

[ Hits: 2.605 ]

 


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
[email protected]
AuthPass=hadouken
AuthMethod=LOGIN

# cat /etc/ssmtp/revaliases | grep -v "#"
 root:[email protected]: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: [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

Espero ter ajudado alguém.

Outras dicas deste autor

Utilizando o uShare como A/V media center

Leitura recomendada

Comentando várias linhas em scripts bash

Shell In A Box - Acessando o Shell Linux pelo Navegador Web

Trocando letrinhas em segundos (sed)

Adicionando cor ao comando echo

Formatando números no shell com zeros à esquerda

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts