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.

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

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

Disponível em: pt-brPortuguês (Portugués, Brasil)enEnglish (Inglés)esEspañol

Deja una respuesta