¿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.
install perl libnet-ssleay-perl openssl libauthen-pam-perl
libpam-runtime libio-pty-perl apt-show-versions python</span>
--install webmin_1.870_all.deb </span>
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.