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.
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: PortuguêsEnglish (Inglês)Español (Espanhol)