Relatório Sumário Jobs Bacula via Email Script Perl (Davide Giunchi)

O “Message” – função padrão Bacula que envia um e-mail separado para cada tarefa de backup, pode rapidamente encher a caixa de usuários que não necessariamente vão analisar as logs dos backups. Para estes, um “resumo diário” pode ser melhor, como a seguir.

Relatório Sumário Jobs Bacula via Email Script Perl (Davide Giunchi) 1

Este é um programa Perl que funciona com Bacula, é enviar um digerir e-mail das tarefas de backup executado nos últimos dias X, você pode executá-lo todas as manhãs para notificar sobre o estado de cada execução da tarefa durante a noite, ou toda segunda-feira para chegar o estado dos backups de fim de semana.

Você precisa instalar o programa no Bacula (Enterprise ou comunidade) servidor Director que usam banco de dados MySQL ou PostgreSQL.

Todos os parâmetros são configuráveis ​​na /etc/bacula/send_bacula_backup_report.conf arquivo de configuração, o relatório de e-mail usar o mecanismo de modelo “HTML :: Template”, assim você pode personalizar o layout do e-mail como desejar.
O layout e-mail padrão é o mesmo da interface html Bweb, por isso, se você está confiante com BWEB, você vai entender imediatamente a saída.
Você vai entender rápida e easly cada resultado trabalho, dê uma olhada no campo “Status”, você vai ter um dos seguintes estados:

  • OK, tudo bem
  • ERRO: erro fatal
  • WARNING: ok, mas talvez alguns arquivos estão em uso (sem VSS), algum diretório estão faltando ecc …
  • RUNNING: trabalho ainda está em execução quando Enviar relatório de backup Bacula foi executado
  • WAITING: trabalho em fila e à espera de início
  • ATTENTION (novo recurso no 0.6): trabalho ok, mas o tamanho do backup é menor agradecer o esperado

Em todos os casos em que o estado não é OK, clique sobre o status do trabalho para se conectar à interface bacula-web (se instalado) e visualizar mais detalhes.
Mesmo que todos os trabalhos são OK, por favor, lembre-se de fazer alguma restaurar testes em uma base regular para verificar se você salvar todos os necessários diretório / arquivos e os dados estão corretos restaurado.


Procedimentos de Instalação do Script de Envio (testado no Bacula 9.x e superior):

1) Você precisa de um Bacula trabalhando ou Bacula empresa com o MySQL ou PostgreSQL e uma MTA trabalho local (neste exemplo, o postfix)

2) Instale os pacotes perl requeridos (dependências).

No Debian/Ubuntu:

apt-get update
apt-get install libhtml-template-perl libmime-lite-perl libdbd-mysql-perl libdbd-pg-perl postfix

No RedHat/CentOS:

yum -y install wget epel-release
yum install perl-HTML-Template perl-MIME-Lite perl-DBD-MySQL perl-DBD-Pg postfix

3) Instale o programa

cd /opt/bacula/scripts
wget https://giunchi.net/wp-content/uploads/2015/01/send_bacula_backup_report-0.6.tar.gz
tar -xzvf send_bacula_backup_report-0.6.tar.gz
cp send_bacula_backup_report.conf.example send_bacula_backup_report.conf
sed -i 's|/etc/bacula|/opt/bacula/scripts|g' ./send_bacula_backup_report.conf
sed -i 's|/etc/bacula|/opt/bacula/scripts|g' ./send_bacula_backup_report.pl
chmod 750 /opt/bacula/scripts/send_bacula_backup_report.pl
chmod 640 /opt/bacula/scripts/send_bacula_backup_report.conf
chown bacula /opt/bacula/scripts/send*

4) Modifique o arquivo de configuração:

vi /opt/bacula/scripts/send_bacula_backup_report.conf

Verifique e configure as seguitnes variáveis: db_type, db_password, bweb_path, email_from, email_to
Pode definir também a quantidade de entradas do relatório $minimum_size como desejado, mas é opcional.

5) Apenas para Catálogo PostgreSQL:

su postgres "psql bacula < /opt/bacula/scripts/send_bacula_backup_report-src/functions-postgresql.sql"

6) Teste o envio :

sudo -u bacula /opt/bacula/scripts/send_bacula_backup_report.pl 1

Verifique seu email. Se tiver problemas veja /var/log/mail.log e consulte: https://www.bacula.lat/envio-email-autenticado-postfix-gmail/

7) Crie um JobAdmin para executar o script ou habilite o envio diário pelo crontab. Adicione as seguitnes linhas em /etc/crontab:

---
# send daily bacula backup report
15 8 * * 2-5 bacula /opt/bacula/scripts/send_bacula_backup_report.pl 1 >/dev/null
15 8 * * 1 bacula /opt/bacula/scripts/send_bacula_backup_report.pl 3 >/dev/null
---

Neste exemplo será enviado o relatório diariamente de Terça a sexta-feira, da noite anterior. Na segunda será enviado o email referente aos últimos 3 dias.

8) Importante! Em caso de erros de execução por permissão do sudo, conceda:

visudo

# Acrescente a seguinte linha:
bacula   ALL=(ALL)      /opt/bacula/scripts/send_bacula_backup_report.pl

Salve, e saia.

Integração com o BWeb – Bacula Enterprise:

Altere em send_bacula_backup_report.conf a URL para seu BWeb de produção:

vi /opt/bacula/scripts/send_bacula_backup_report.conf
# Modifique a seguinte linha, como no exemplo:
$bweb_path='http://192.168.0.x:9180/';

Altere em send_bacula_backup_report.tpl a string de visualização de um job no Bweb. Exemplo:

vi /opt/bacula/scripts/send_bacula_backup_report.tpl
# Modifique a seguinte linha, como no exemplo:
<td style="padding-left: 3px; padding-right: 3px;" classname="dataTD10"><a href="<TMPL_VAR NAME=Bweb_Path>/cgi-bin/bweb
/bweb.pl?action=job_zoom&jobid=<TMPL_VAR NAME=JobId>"><TMPL_VAR NAME=Status></a></td>

Após as alterações, os novos emails conterão links para o detalhe do Job no Bweb.


Source: https://giunchi.net/send-bacula-backup-report

Disponível em: pt-brPortuguêsenEnglish (Inglês)esEspañol (Espanhol)

Deixe uma resposta