En el artículo anterior expliqué cómo montar un servidor de backup open source con Bacula en Debian. Ahora voy a demostrar los sencillos pasos para instalar el agente de backup en un servidor FreeBSD y lanzar un trabajo de backup desde el director.

En sistemas FreeBSD, el cliente Bacula es provisto por el port sysutils/bacula-client. Para instalarlo desde paquete, simplemente ejecutar:

root@fbsd10:~ # pkg install bacula-client

El mismo incluye archivos de configuración de ejemplo:

NOTE:
Sample files are installed in /usr/local/etc/bacula:

  bconsole.conf.sample, bacula-fd.conf.sample

Una vez instalado, habilitar el servicio "bacula-fd":

root@fbsd10:/usr/local/etc/bacula # nano /etc/rc.conf

En la especificación del servicio usa guión bajo (a pesar de que el nombre del binario usa guión del medio):

bacula_fd_enable="YES"

Luego, abrir el puerto 9102 en el firewall.

Por ejemplo, si se utiliza ipfw, agregar la siguiente regla:

root@fbsd10:/usr/local/etc/bacula # ipfw -q add 00666 allow tcp from backup.linuxito.com to me 9102 in via em0 setup limit src-addr 10

Este es el puerto en el cual escucha el agente de backup (al cual se conecta el director para lanzar trabajos de backup).

Si el firewall además filtra el tráfico saliente, será necesario permitir la salida hacia el puerto 9103, para que el agente sea capaz de conectarse con el Storage Deamon.

root@fbsd10:/usr/local/etc/bacula # ipfw -q add 00200 allow tcp from any to backup.linuxito.com 9103 out via em0 setup keep-state

Editar el archivo de configuración del File Deamon (/usr/local/etc/bacula/bacula-fd.conf) y configurar el acceso para el director:

Director {
  Name = backup-dir
  Password = "PapposBlues-Volumen1"
}

Luego, en la configuración del director (en el servidor de backup), definir el nuevo cliente FreeBSD:

root@backup:/usr/local/bacula/etc# nano bacula-dir.conf
Client {
  Name = fbsd10-fd
  Address = fbsd10.linuxito.com
  FDPort = 9102
  Catalog = MyCatalog
  Password = "PapposBlues-Volumen1"   # password for FileDaemon
  File Retention = 60 days            # 60 days
  Job Retention = 6 months            # six months
  AutoPrune = yes                     # Prune expired Jobs/Files
}

El nombre del cliente no necesariamente debe coincidir con el aquel definido en la sección "FileDeamon" de la configuración del cliente. Pero la contraseña para acceder al cliente debe ser exactamente igual a la definida para el acceso del director en la sección "Director" de la configuración del cliente.

Ahora es posible iniciar el File Deamon:

root@fbsd10:/usr/local/etc/bacula # service bacula-fd start
Starting bacula_fd.

En el servidor de backup, crear un trabajo de backup de prueba:

root@backup:/usr/local/bacula/etc# nano bacula-dir.conf
Job {
  Name = "BackupFBSD10"
  Client = fbsd10-fd
  JobDefs = "DefaultJob"
}

Este trabajo mantiene copias incrementales sólo del directorio /etc, tal como se ha configurado el FileSet "Full Set" (a modo de prueba) en el director (ver artículo Cómo instalar y configurar Bacula en Debian).

Reiniciar el director (no tiene un comando "reload" para recargar la configuración):

root@backup:/usr/local/bacula/etc# service bacula-dir restart
Stopping Bacula Director: bacula-dir
Starting Bacula Director: bacula-dir

Desde el servidor de backup, abrir la consola de Bacula y correr el trabajo manualmente:

root@backup:/usr/local/bacula/etc# /usr/local/bacula/sbin/bconsole 
Connecting to Director backup:9101
1000 OK: 102 backup-dir Version: 7.4.4 (28 September 2016)
Enter a period to cancel a command.
*run
Automatically selected Catalog: MyCatalog
Using Catalog "MyCatalog"
A job name must be specified.
The defined Job resources are:
     1: BackupArchivosLocales
     2: BackupFBSD10
     3: BackupCatalog
     4: RestoreArchivosLocales
Select Job resource (1-4): 2
Run Backup job
JobName:  BackupFBSD10
Level:    Incremental
Client:   fbsd10-fd
FileSet:  Full Set
Pool:     File (From Job resource)
Storage:  File1 (From Job resource)
When:     2016-10-28 09:42:48
Priority: 10
OK to run? (yes/mod/no): yes
Job queued. JobId=9
You have messages.
*

Después de unos milisegundos, el trabajo de backup finaliza correctamente:

*list jobid=11
+-------+------------------+---------------------+------+-------+----------+----------+-----------+
| jobid | name             | starttime           | type | level | jobfiles | jobbytes | jobstatus |
+-------+------------------+---------------------+------+-------+----------+----------+-----------+
|    11 | BackupFBSD10     | 2016-10-28 10:05:55 | B    | F     |      448 |  476,254 | T         |
+-------+------------------+---------------------+------+-------+----------+----------+-----------+

Referencia

Bacula Main Reference

Console and Operators Guide

Cómo instalar y configurar Bacula en Debian

Better Backups - ADMIN Magazine

Bacula Cheat Sheet


Tal vez pueda interesarte


Compartí este artículo