Instalación y configuración Bacula en Ubuntu Server 16.04

¿Que es Bacula?

Es un software de copias de seguridad (backup) respaldo de archivos para el sistema operativo Linux, se puede instalar en Windows y en Mac OS X y en cualquier Unix, aquí explicaremos la instalación y configuración del sistema de copias de seguridad Bacula en un tutorial que os hará la vida bastante mas fácil una explicación del software bacula.

Instalar Bacula en Ubuntu Server

apt-get install bacula bacula-client bacula-common-mysql bacula-director-mysql bacula-sd-mysql bacula-server bacula-traymonitor

Configurar Bacula en Ubuntu Server

Editamos el fichero /etc/bacula/bacula-dir.conf

Clave: la que nosotros queramos poner, recomiendo una de las buenas contraseñas.

Director { # define myself

Name = ubuntu.local-dir

DIRport = 9101 # where we listen for UA connections

QueryFile = “/etc/bacula/scripts/query.sql”

WorkingDirectory = “/var/lib/bacula”

PidDirectory = “/var/run/bacula”

Maximum Concurrent Jobs = 20

Password = “clave” # Console password

Messages = Daemon

DirAddress = 127.0.0.1

}

# Generic catalog service

Catalog {

Name = MyCatalog

dbname = “bacula”; dbuser = “bacula”; dbpassword = “clave”

}

# Client (File Services) to backup

Client {

Name = ubuntu.local-fd

Address = localhost

FDPort = 9102

Catalog = MyCatalog

Password = “clave” # password for FileDaemon

File Retention = 60 days # 60 days

Job Retention = 6 months # six months

AutoPrune = yes # Prune expired Jobs/Files

}

Storage {

Name = File2

# Do not use “localhost” here

Address = localhost # N.B. Use a fully qualified name here

SDPort = 9103

Password = “clave”

Device = FileChgr2

Media Type = File2

Maximum Concurrent Jobs = 10 # run up to 10 jobs a the same time

}

Console {

Name = ubuntu.local-mon

Password = “clave”

CommandACL = status, .status

}

estas entradas las ponemos asi como las tenemos aquí.

Editamos el fichero /etc/bacula/bacula-sd.conf

Director {

Name = ubuntu.local-dir

Password = “clave”

}

Director {

Name = ubuntu.local-mon

Password = “clave”

Monitor = yes

}

Device {

Name = FileChgr1-Dev1

Media Type = File1

Archive Device = /home/onzulin/backup-bacula

LabelMedia = yes; # lets Bacula label unlabeled media

Random Access = Yes;

AutomaticMount = yes; # when device opened, read it

RemovableMedia = no;

AlwaysOpen = no;

Maximum Concurrent Jobs = 5

}

aquí definimos una carpeta. ¿Que os va pareciendo el turorial? En Linux todo son cambiar ficheros de texto de configuración para todo lo que queráis hacer es mas o menos fácil, sobre todo lo fácil es una vez que tienes configurada una maquina Linux, solo tienes que copiar de la maquina servidor al otro servidor que vayas a montar los ficheros de configuración para dejarla como la tienes.

Editamos el fichero /etc/bacula/bacula-fd.conf

Director {

Name = ubuntu.local-dir

Password = “clave”

}

 

#

# Restricted Director, used by tray-monitor to get the

# status of the file daemon

#

Director {

Name = ubuntu.local-mon

Password = “clave”

Monitor = yes

}

por ultimo el de console /etc/bacula/bdconsole.conf

#

# Bacula User Agent (or Console) Configuration File

#

 

Director {

Name = ubuntu.local-dir

DIRport = 9101

address = localhost

Password = “clave”

}

una vez configurado reinciamos bacula.

bacula director

/etc/init.d/bacula-director restart

bacula sd

/etc/init.d/bacula-sd restart

bacula fd

/etc/init.d/bacula-fd restart

De momento parece sencilla la configuración de bacula.

Usando Webmin para trabajar con Bacula

Instalando webmin lo bajamos de su web con:

wget http://prdownloads.sourceforge.net/webadmin/webmin_1.870_all.deb

Antes de instalarlo vamos a instalar unas dependencias.

<span style="font-family: Liberation\ Serif, serif;">apt-get
install perl libnet-ssleay-perl openssl libauthen-pam-perl
libpam-runtime libio-pty-perl apt-show-versions python</span>
<span style="font-family: Liberation\ Serif, serif;">dpkg
--install webmin_1.870_all.deb </span>
<span style="font-family: Liberation\ Serif, serif;">Ya lo
tendriamos instalado webmin y podemos acceder via web a Bacula. </span>

Esto es lo de añadir la excepción de seguridad en nuestro navegador, ya explicare como usar SSL en webmin cuando lo instale en mi VPS de momento, lo dejaremos sin explicar.

Si tenéis problema de que no os funcione Webmin mirad que no sea el Firewall quien esta molestando y que tengáis el puerto 10000 TCP abierto.

¿Os parece sencillo ponerse a trabajar con Bacula? A mi de momento me parece un proceso bastante sencillo con un servidor Linux. Ademas da igual que usemos CentOS, Ubuntu, Debian, ArchLinux, Gentoo.

Gestionando Bacula desde Webmin

Desde el panel de control de Webmin nos vamos hacia System → bacula backup system nos saldra el aviso de que no tenemos configurado bien el modulo le damos al enlace de module configuration.

Failed to connect to the Bacula database : Failed to load the database DBI driver Pg at ./bacula-backup-lib.pl line 45. Maybe it is not set up, or the module configuration is incorrect.

ahi ponemos la contraseña y yo la voy a configurar en este caso dentro de PostgreSQL, aunque en mi VPS lo mismo lo pongo con MySQL, en este servidor que estoy usando en el tutorial no tiene MySQL si no MariaDB, como uso PostgreSQL pues lo voy a configurar con PostgreSQL.

Después de darle al botón save he visto como no funciona, la solución es en la base de datos que vayas a trabajar, añades la base de datos bacula, el usuario bacula con la contraseña que desees y podrás configurar este apartado sin problemas.

No me funciona la conexión con PostgreSQL y es el motor de base de datos que quiero usar, asi que voy a proceder a instalar estos 3 paquetes de apt

sudo apt-get install bacula-director-pgsql bacula-common-pgsql bacula-sd-pgsql

Esta clara la pregunta Configurar la base de datos para bacula-director-pgsql con dbconfig-common le decimos que si.

Nos pregunta el nombre del sistema remoto a usar y le decimos localhost.

La configuración con PostgreSQL lo dejare para mas adelante en otro tutorial incluso.

Al final he hecho funcionar con MariaDB que es el que tengo instalado en el servidor Bacula.

 

Problemas que me he encontrado

Bconsole no puede comunicarse con Bacula director:

The Bacula console command /usr/bin/bconsole could not communicate with the Bacula director. Make sure the password in /etc/bacula/bconsole.conf is correct.

Este problema es que no había puesto dentro de /etc/bacula/bacula-dir.conf

Catalog {
Name = MyCatalog
dbname = “bacula”; dbuser = “bacula”; dbpassword = “clave”
}

por tanto no tiraba el bacula director y no tenia el sistema de bacula funcionando.

Explicación de como funciona Bacula

Bueno una vez tenemos todo corriendo ok como se ve en esta imagen:

como veis esta todo ok ahora explicaremos como realizar un backup del sistema.

Es un poco lioso este sistema de backup al menos a mi me lo ha parecido y bueno al menos usamos una interfaz algo mas liviana que usarlo por comandos, pero aun así no me ha parecido fácil es lo que suele pasar con el software libre que fácil de manejar no es precisamente.

¿Que queremos hacer de backup en el servidor Linux?

Principalmente lo que necesitamos realizar es backup de todos los archivos de las webs que tenemos, pues lo que haremos sera programar los backup y ver como funciona, lo que realmente nos interesa es una función que todos los dias nos vaya haciendo backup y ademas todos los meses backup completo.

Bueno pues como podéis ver tiene 3 componentes el bacula director, el bacula sd y el bacula fd y con esos 3 se hace todo.

Vamos a realizar un backup completo del directorio /home/usuario/html/ ahí es donde tengo todas las webs del servidor nginx.

En otros escenarios puede ser cualquier tipo de directorio o archivos que deseemos realizar backup.

File sets: los archivos que vamos a incluir en una copia de seguridad.

Backup Schedules: las reglas de backup.

Backup Jobs: esto seria el como vamos a realizar el backup.

Volume Pools:

Una vez que tenemos estos 3 componentes listos y configurados nos disponemos a realizar el backup.

Le damos a backup y me falla me da este error:

06-feb 16:49 ubuntu.local-sd JobId 1: Job backup_copia_completa.2018-02-06_13.49.44_26 is waiting. Cannot find any appendable volumes.

Please use the “label” command to create a new Volume for:

Storage: “FileChgr1-Dev1” (/home/onzulin/backup-bacula)

Pool: Default

Media type: File1

El problema ponen por Internet que se soluciona usando bconsole poniendo el comando en consola, bacula-console y entras en la consola como esta aquí puesto:

 

Realizando un backup

Simplemente poniendo esos datos porqué ya hemos realizado toda lo anterior y podemos realizar el backup.

Restaurando un backup

Esta es para mi la parte que menos me ha gustado del programa al menos hecho en el webmin hay probar www.bacula-web.com precisamente para ver si tiene este mismo problema.

Es que hay que definir el nombre del fichero a mano que vamos a restaurar

Bueno pues con esto ya he terminado mi tutorial sobre como poner en marcha Bacula es algo pesado de poner en marcha aunque claro, una vez ya lo tienes funcionando funciona de maravilla, es software libre este software por tanto si tienes avanzados conocimientos de programación se puede realizar modificaciones en el software.

¿Que os pareció el tutorial? Si os gusto suscribiros a la web y os llegaran Newsletter (boletines de noticias) sobre todos los tutoriales que voy realizando y tendrás acceso a tutoriales para suscriptores.

 

 

Dejar un comentario