Enviando e-mail localmente após o backup para monitoramento

Publicado por Kleyton Maia (última atualização em 29/07/2015)

[ Hits: 6.969 ]

Homepage: http://kadron74.blogspot.com/

Download 6267.envia.sh




Configurar Postfix/Sendmail para usar em scripts enviando e-mails em determinado momento.

O primeiro passo é ter instalado o Postfix e o Sendmail, em nosso exemplo foi usado o Red Hat 6.4 que já vem com esses pacotes instalados...

Configurar o Postfix para fazer relay de e-mails encaminhando para o servidor de correio já existente da empresa, certifique-se de que o correio está habilitado para permitir o relay através desses hosts. Como normalmente os servidores estão na mesma DMZ deve funcionar corretamente ou crie as regras para esta liberação.

Postfix em modo null client

No modo null client a máquina somente manda e-mail, ela não receberá e-mails da rede, e não entregará e-mails localmente (contas de home users).

No exemplo abaixo vamos entender que o domínio é exemplo.com e o nome da máquina é hostname.exemplo.com.

Como normalmente o exemplo mostra somente os parâmetros que não são deixados nas configurações padrões:

Editamos o aqruivo /etc/postfix/main.cf onde:

    myhostname = hostname.exemplo.com
    myorigin = $mydomain
    relayhost = $mydomain
    inet_interfaces = loopback-only
    mydestination =

Descrição:

Linha 1: Define o myhostname para hostname.exemplo.com, no caso do nome da máquina não ser um nome fully-qualified (nome qualificado). Use o comando "post-conf -d myhostname" para achar o nome da máquina.

Linha 2: O myhostname no seu conteúdo também define o valor padrão para o parâmetro mydomain (aqui, "mydomain = exemplo.com").

Linha 3: Nesta linha enviará o e-mail como "user@exemplo.com" (ao invés de "user@hostname.exemplo.com").

Linha 4: Encaminhar todos os e-mails para o servidor de e-mail responsável pelo domínio "exemplo.com". Isso previne dos e-mails ficarem presos neste servidor, especifique outro hostname ou IP caso não tenha o registro MX configurado.

Linha 5: Não aceitar e-mails vindo da rede.

Line 6: Desabilita entrega de e-mails locais. Todos os e-mails vão para o servidor especificado na linha 4.

Após isso usando o Sendmail podemos chamar o envio de e-mail...

Sendo assim montamos o script para recolher alguns dados e enviar por e-mail:

No exemplo abaixo checo o conteúdo de duas pastas e envio no corpo e-mail para análise de qual conteúdo foi feito backup, no meu caso esse script foi colocado no crontab após a rotina de backup e eu recebo por email o que foi feito.

  



Esconder código-fonte

#!/bin/sh
#
#
#Variaveis de ambiente
FROM="tecnologia@exemplo.com"
TO="tecnologia@exemplo.com"

# Aqui o assunto da mensagem com a data
SUBJECT="Backup XPTO Concluido $(date "+dia %d de %b de %Y as %r")"

#Aqui ele coloca na variavel o conteudo dos diretorios de onde sao salvos os bkps
#Neste meu exemplo um diretorio esta local e outro esta remoto
MSG=$(tree -l -h -C -D --charset x /Backup/local/)
MSG2=$(tree -l -h -C -D --charset x /mnt/BKP_REMOTO/)
MSG3=$(du -hs /mnt/BKP_REMOTO/)

cat <<EOF | /usr/sbin/sendmail -t
From: $FROM
To: $TO
Subject: $SUBJECT

Bom dia , enviando as tarefas de backups executadas.

Resultado no Backup Local:
$MSG

Resultado no Backup Remoto:
$MSG2

Tamanho Total do Backup:
$MSG3
________________________________________________________
Sh versao 12.28 - Kleyton Maia
EOF
#

Scripts recomendados

Script de backup Graylog

Backup de logs do sistema

Script de backup MySQL [melhorado]

Backup com mysqldump

Backup Zabbix 2.0


  

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