Ajuda Script de backup enviar email quando der erro [RESOLVIDO]

1. Ajuda Script de backup enviar email quando der erro [RESOLVIDO]

Wagner
wagner31

(usa CentOS)

Enviado em 06/09/2016 - 16:05h

e ai galera blz?
é o seguinte, tenho um script que envia email quando termina o backup, porém preciso que caso dê algum erro ele envie um email avisando que o backup deu erro, poderiam me ajudar?
segue meu script abaixo:


#!/bin/sh
#
#
#Variáveis de ambiente
FROM="orIgem@meuemail.com.br"
TO="destino@meuemail.com.br"

# Aqui o assunto da mensagem com a data
SUBJECT="Backup Database E1 "

#Aqui ele coloca na variável o script que ira fazer o backup incremental
MSG=$(rsync -av --no-times --ignore-existing /mnt/E1/ /mnt/Storage/Dados/Gravacoes/E1/ > /var/log/scheduler/E1-`date +\%Y-\%m-\%d`.log ; cat /var/log/scheduler/E1-`date +%Y-%m-%d`.log)

cat <<EOF | sendmail -t
From: $FROM
To: $TO
Subject: $SUBJECT $(date "+dia %d de %b de %Y as %r")

Upload Database para Storage

Segue abaixo a lista de arquivos copiados:

$MSG

EOF
#
# Fim do Script



  


2. Re: Ajuda Script de backup enviar email quando der erro

Wagner
wagner31

(usa CentOS)

Enviado em 09/09/2016 - 16:01h

Resolvi da seguinte forma:

se alguém tiver alguma solução mais simplificada eu agradeço.




#!/bin/sh
#
#
#Variáveis de ambiente
FROM="email@email.com.br"
TO="email@email.com.br"

# Aqui o assunto da mensagem com a data
SUBJECT="Backup Database E1 "

# Executa o backup incremental e também cria o log do backup
BACKUP=$(rsync -av --no-times --ignore-existing /mnt/E1/ /mnt/Storage/E1/ > /var/log/scheduler/E1-`date +\%Y-\%m-\%d`.log)

# Exibe o conteúdo do log
LOG=$(cat /var/log/scheduler/E1-`date +\%Y-\%m-\%d`.log)

# Procura a palavra "erro" no log
VERIFICA=$(find /var/log/scheduler/E1-`date +\%Y-\%m-\%d`.log -type f -exec grep -l error {} \;)

# Verificar se existe a palavra "erro" no log, se existe ele enviará o email com o aviso
if [ -z $VERIFICA ]; then

cat <<EOF | sendmail -t
From: $FROM
To: $TO
Subject: $SUBJECT $(date "+dia %d de %b de %Y as %r")

Upload Database E1 para Storage

Segue abaixo a lista de arquivos copiados:

$LOG

EOF

else

cat <<EOF | sendmail -t
From: $FROM
To: $TO
Subject: ERRO no Backup E1 as $(date "+%r")

Ocorreu algum erro no processo do backup!

Verificar log abaixo e/ou comunicação origem/destino

$LOG

EOF

fi
#
# Fim do Script


3. Re: Ajuda Script de backup enviar email quando der erro [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 09/09/2016 - 18:30h

wagner31 escreveu:

Resolvi da seguinte forma:
se alguém tiver alguma solução mais simplificada eu agradeço.
#!/bin/sh
#Variáveis de ambiente
FROM="email@email.com.br"
TO="email@email.com.br"
# Aqui o assunto da mensagem com a data
SUBJECT="Backup Database E1 "
# Executa o backup incremental e também cria o log do backup
BACKUP=$(rsync -av --no-times --ignore-existing /mnt/E1/ /mnt/Storage/E1/ > /var/log/scheduler/E1-`date +\%Y-\%m-\%d`.log)
# Exibe o conteúdo do log
LOG=$(cat /var/log/scheduler/E1-`date +\%Y-\%m-\%d`.log)
# Procura a palavra "erro" no log
VERIFICA=$(find /var/log/scheduler/E1-`date +\%Y-\%m-\%d`.log -type f -exec grep -l error {} \;)
# Verificar se existe a palavra "erro" no log, se existe ele enviará o email com o aviso
if [ -z $VERIFICA ]; then

cat <<EOF | sendmail -t
From: $FROM
To: $TO
Subject: $SUBJECT $(date "+dia %d de %b de %Y as %r")
Upload Database E1 para Storage
Segue abaixo a lista de arquivos copiados:
$LOG
EOF
else
cat <<EOF | sendmail -t
From: $FROM
To: $TO
Subject: ERRO no Backup E1 as $(date "+%r")
Ocorreu algum erro no processo do backup!
Verificar log abaixo e/ou comunicação origem/destino
$LOG
EOF
fi
#
# Fim do Script

-------------------------------------------------------
Boa noite Wagner, dei uma simplificada . . .
Principalmente na "busca por erro"

Segue:
#!/bin/bash
FROM="email@email.com.br"
TO="email@email.com.br"
DATA="$(date +\%Y-\%m-\%d)"
ARQ_LOG="/var/log/scheduler/E1-"$DATA".log"

# Aqui o assunto da mensagem com a data
SUBJECT="Backup_"$DATA"_$(date +%X)_E1"

# Executa o backup incremental e também cria o log do backup #ATRIBUI O RESULTADO P/ A vVAR BACKUP
rsync -av --no-times --ignore-existing /mnt/E1/ /mnt/Storage/E1/ >> $ARQ_LOG

LOG=$(cat $ARQ_LOG)

#Procura a palavra "erro" no log
if egrep 'error' $ARQ_LOG;then
cat <<EOF | sendmail -t
$(date)
From:$FROM
To:$TO
Subject: ERRO no Backup E1 as $(date "+%r")
Ocorreu algum erro no processo de backup!
Verificar log abaixo e/ou comunicação origem/destino
ARQUIVO:$ARQ_LOG
$LOG
EOF

else

cat <<EOF | sendmail -t
$(date)
From:$FROM
To:$TO
Subject:"$SUBJECT"
Upload Database E1 para Storage
Segue abaixo a lista de arquivos copiados:
ARQUIVO:$ARQ_LOG
$LOG
EOF


Att.:
Marcelo Oliver





4. Re: Ajuda Script de backup enviar email quando der erro

Wagner
wagner31

(usa CentOS)

Enviado em 09/09/2016 - 21:21h

Marcelo muito obrigado pela ajuda
pelo tempo utilizado para montar esse novo script e ajudar as pessoas aqui do fórum
valeu mais uma vez






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts