Resumen de Jobs de Bacula via Correo Electrónico Perl – Script Perl de Davide Giunchi

Resumen de Jobs de Bacula via Correo Electrónico Perl – Script Perl de Davide Giunchi

El “Mensaje” – función estándar de Bacula que envía un correo electrónico separado para cada trabajo de respaldo, puede llenar rápidamente el cuadro de usuarios que no necesariamente analizarán los registros de respaldo. Para estos, un “resumen diario” puede ser mejor, como sigue.

Este es un programa Perl que funciona con Bacula, es para enviar un correo electrónico resumido de los trabajos de respaldo realizados en los últimos X días, puedes ejecutarlo todas las mañanas para notificar sobre el estado de ejecución de cada trabajo durante la noche, o todos los lunes para conocer el estado de las copias de seguridad de los fines de semana.

Debe instalar el programa en el servidor Director de Bacula (Enterprise o comunidad) utilizando bases de datos MySQL o PostgreSQL.

Todos los parámetros se pueden configurar en el archivo de configuración /etc/bacula/send_bacula_backup_report.conf, el informe de correo electrónico utiliza el motor de plantilla “HTML :: Plantilla”, por lo que puede personalizar el diseño del correo electrónico como desee .
El diseño de correo electrónico predeterminado es el mismo que el de la interfaz html de Bweb, por lo que si está seguro de BWEB, comprenderá inmediatamente el resultado.
Comprenderá rápida y fácilmente el resultado de cada trabajo, eche un vistazo al campo “Estado”, tendrá uno de los siguientes estados:

  • OK: todo bien
  • ERROR: error fatal
  • ADVERTENCIA: ok, pero tal vez algunos archivos estén en uso (sin VSS), faltan algunos directorios etc.
  • EN EJECUCIÓN: el trabajo aún se está ejecutando cuando se ejecutó el informe Enviar copia de seguridad de Bacula
  • ESPERANDO: en cola y esperando para comenzar
  • ATENCIÓN (nueva característica en 0.6): funciona bien, pero el tamaño de la copia de seguridad es menor de lo esperado

En todos los casos en los que el estado no sea correcto, haga clic en el estado del trabajo para conectarse a la interfaz de bacula-web (si está instalada) y ver más detalles.
Aunque todos los trabajos están bien, recuerde hacer algunas pruebas de restauración de forma regular para asegurarse de guardar todos los directorios / archivos necesarios y que los datos se hayan restaurado correctamente.


Procedimientos para instalar el script de envío (probado en Bacula 9.xy versiones posteriores):

1) Necesita una empresa Bacula en funcionamiento o Bacula con MySQL o PostgreSQL y un MTA en funcionamiento local (en este ejemplo, postfix)

2) Instale los paquetes de perl necesarios (dependencias).

En Debian / Ubuntu:

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

En 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 el 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 el archivo de configuración:

vi /opt/bacula/scripts/send_bacula_backup_report.conf

Verifique y configure las siguientes variables: db_type, db_password, bweb_path, email_from, email_to.
También puede definir el número de entradas en las reglas de $minimum_size como desee informar, pero es opcional.

5) Únicamente para catálogo PostgreSQL:

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

6) Pruebe el envío:

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

Consultar su correo electrónico. Si tiene problemas, consulte /var/log/mail.log.

7) Cree un JobAdmin para ejecutar el script o habilite el envío diario a través de crontab. Agregue las siguientes líneas a / 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
---

En este ejemplo, el informe se enviará diariamente de martes a viernes, la noche anterior. El segundo correo electrónico se enviará durante los últimos 3 días.

8) ¡Importante! En caso de errores de ejecución con permiso de sudo, otorgue:

visudo

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

Guarda y vete.

Integración con BWeb – Bacula Enterprise:

Cambie la URL de su BWeb de producción en send_bacula_backup_report.conf:

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

Cambie la cadena de visualización de Job por Bweb en send_bacula_backup_report.tpl. Ejemplo:

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>Después de los cambios, los nuevos correos electrónicos contendrán enlaces a los detalles del trabajo en Bweb.

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

Leave a Reply

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

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.

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

Leave a Reply