En este manual te enseñaremos paso a paso a instalar el agente de backup 'Bacula'. Se trata de un aplicativo que permite la comunicación entre tu servidor y nuestro servidor de Backups para poder realizar y programar las copias de seguridad por ti.
Atención: Este manual asume que dispones de conocimientos técnicos necesarios para establecer una conexión SSH o RDP con tu servidor y utilizar comandos propios de Debian, Ubuntu o Windows.
1. Establece una conexión SSH a tu servidor
A lo largo de este manual asumiremos que estás conectado como usuario root
2. Instalación del paquete
Para instalar el paquete necesario ejecuta el siguiente comando:
apt-get install bacula-fd
3. Cambia el archivo de configuración
El archivo de configuración está ubicado en /etc/bacula/bacula-fd.conf
Te recomendamos editar el documento con el editor 'nano':
nano /etc/bacula/bacula-fd.conf
Primer bloque "Director":
Aquí definiremos los nombres de los servidores de copias y un password de acceso. Tendrás que informar de este password a nuestros ingenieros para que configuren el demonio "Bacula" en el servidor de copias. Al final del manual, te explicaremos como lo puedes hacer.
Atención: Copia el siguiente bloque tal y como se muestra en el ejemplo. Solo tienes que modificar la palabra $PWD_BACULA por tu propio password alfanumérico de 15 a 30 caracteres
Director {
Name = bacula.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = bacula2.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = bacula3.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = bacula4.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = bacula5.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = bacula6.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = baculaMadrid.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = baculam1.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = baculam2.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = baculam3.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = baculam4.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = baculam5.dnssw.net-dir
Password = "$PWD_BACULA"
}
Segundo bloque "Director":
Este bloque no es necesario, puedes comentarlo añadiendo un # delante de cada una de las líneas. Tiene que quedar de la siguiente forma:
#
# Restricted Director, used by tray-monitor to get the
# status of the file daemon
#
# Director {
# Name = bacula3.dnssw.net-mon
# Password = "GexFhZYo843rTweXJq0RJLQtpyd"
# Monitor = yes
# }
Tercer bloque "File Deamon":
En este bloque tenemos que definir el nombre y la IP del director.
Solo tienes que substituir la palabra $SERVER_NAME por el nombre de host de tu servidor y asegurarte que al final haya concatenado "-fd".
Puedes obtener el server name con el comando: hostname --fwdn
Adicionalmente tienes que substituir la dirección IP del campo FDAddress por la dirección IP de tu servidor.
Atención: Copia el siguiente bloque tal y como se muestra en el ejemplo.
FileDaemon {
Name = $SERVER_NAME-fd
FDport = 9102
WorkingDirectory = /var/lib/bacula
Pid Directory = /var/run/bacula
Maximum Concurrent Jobs = 20
FDAddress = 0.0.0.0
}
Atención: Es posible que el archivo de configuración ya muestre substituido el campo $SERVER_NAME. No necesariamente es correcto. Por favor, comprueba el nombre real con el comando facilitado.
Cuarto bloque "Messages":
Finalmente, hay que definir el servidor al que se enviarán todos los "logs" del proceso de copia. Solo tienes que dejar la línea "Name = Standard". Puedes comentar la otra añadiendo un # al principio de la línea. Tiene que quedar de la siguiente forma:
Messages {
Name = Standard
# director = cl2018123456-dir = all, !skipped, !restored
}
4. Reinicia el demonio de bacula para aplicar la configuración y comprueba que el servicio esté escuchando en el puerto asignado
Ejecuta los siguientes comandos:
/etc/init.d/bacula-fd restart
netstat -pant | grep 9102
En caso que el servicio "bacula-fd" se esté ejecutando, se te mostrará con el estado "LISTEN"
5. Comunica la contraseña a SW
Escribe un nuevo comentario en tu muro de soporte indicando que deseas comunicarnos la contraseña del Bacula. Para más comodidad, adjuntamos un mensaje de muestra que puedes usar como plantilla:
Hola,
Siguiendo vuestro manual ya he configurado el software bacula para las copias de seguridad
que he contratado. Agradecería si podéis revisar la configuración para que se puedan
realizar las copias a partir de esta noche. Os paso los datos:
Servidor: cl20YYMMDDHHNNN.dnssw.net
IP: 81.25.1XX.YYY
Password del bacula: 12345678901234567890
Muchas gracias,
Saludos
Atención: Modifica los campos de Servidor, IP y Password del bacula por los correspondientes a tu servidor. El Password del bacula es el que hemos definido en el primer bloque
¡Ya está! Una vez realizados estos pasos y habiendo comunicado la contraseña a nuestro equipo de ingeniería, se empezarán a realizar las copias de seguridad sin que debas preocuparte de nada más. Puedes realizar un seguimiento desde tu SWPanel.
1. Establece una conexión RDP a tu servidor
A lo largo de este manual asumiremos que estás conectado como usuario Administrador
2. Descargar el paquete de instalación
En un navegador escribe la URL:
https://www.bacula.org/downloads/Bacula-9.6.7/
En el listado que aparece, descarga la versión "bacula-win64-9.6.7.exe"
Una vez descargado, ejecuta el instalador.
3. Instalación del paquete descargado
Al abrirse el instalador hacemos clic en "Next"
Aceptamos la licencia haciendo clic en "I Agree"
Seleccionamos "Automatic" y hacemos clic en "Next"
Nos aseguramos que el tipo de instalación sea de "Cient" y hacemos clic en "Next"
En la siguiente ventana del instalador hacemos clic en "Install"
Nos aseguramos de DESMARCAR la opción "Save Client template in" y hacemos clic en "Next"
Por último finalizamos el instalador haciendo clic en "Finish"
4. Editamos los archivos de configuración necesarios
El archivo de configuración se encuentra en:
C:\Program Files\Bacula\bacula-fd.conf
Primer Bloque "File Daemon"
En este bloque hay que definir el nombre del director.
Substituye la palabra $FQDN_SERVIDOR por el nombre de host de tu servidor y asegúrate que al final haya concatenado "-fd"
Atención: Es posible que el archivo de configuración ya muestre ese campo por defecto. No necesariamente es correcto. Por favor compruébalo explícitamente, ejecutando el comando "ipconfig /all" en un cmd. Toma los valores "Nombre del host" y "Sufijo DNS Principal" que se te mostrarán
Un ejemplo válido para esta línea de configuración sería: CL2020123456.dnssw.net-fd
FileDaemon {
Name = $FQDN_SERVIDOR-fd # this is me
FDport = 9102 # where we listen for the director
WorkingDirectory = "C:\\Program Files\\Bacula\\working"
Pid Directory = "C:\\Program Files\\Bacula\\working"
#Plugin Directory = "C:\\Program Files\\Bacula\\plugins"
Maximum Concurrent Jobs = 10
}
**Atención: ** Es importante permitir las conexiones a los puertos 9102 y 9103 en el firewall local para la correcta realización de las copias de seguridad
Segundo Bloque "File Daemon"
Aquí definiremos los nombres de los servidores de copias y un password de acceso. Tendrás que informar de este password a nuestros ingenieros para que configuren el demonio "Bacula" en el servidor de copias. Al final del manual te explicaremos como lo puedes hacer.
Por favor, especifica los nombres de servidores tal y como se muestra en el ejemplo y substituye la palabra "$PWD_BACULA" por tu propio password alfanumérico de 15 a 20 caracteres
#
# List Directors who are permitted to contact this File daemon
#
Director {
Name = bacula.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = bacula2.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = bacula3.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = bacula4.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = bacula5.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = bacula6.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = baculaMadrid.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = baculam1.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = baculam2.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = baculam3.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = baculam4.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = baculam5.dnssw.net-dir
Password = "$PWD_BACULA"
}
Tercer bloque "Director"
Este tercer bloque no es necesario en nuestra infraestructura. Por lo que se puede eliminar o comentar
#
# Restricted Director, used by tray-monitor to get the
# status of the file daemon
#
#Director {
# Name = bacula3.dnssw.net-mon
# Password = "GexFhZYo843rTweXJq0RJLQtpyd"
# Monitor = yes
#}
Cuarto bloque "Messages"
Finalmente, hay que definir el servidor al que se enviarán los "logs" del proceso de copia.
Por defecto, enviará los logs al servidor que ha iniciado el proceso de "backup". Para ello comentaremos la línea "director = @director_name@ = all, !skipped, !restored " añadiendo un # al inicio de la línea, quedando de la siguiente forma:
# Send all messages except skipped files back to Director
Messages {
Name = Standard
# director = @director_name@ = all, !skipped, !restored
}
5. Reinicia y comprueba que el servicio esté escuchando en el puerto asignado
A continuación, deberás reiniciar el servidor para permitir que se inicie el servicio "bacula-fd" de forma automática.
Una vez reiniciado, puedes verificar que el servicio se está ejecutando, comprobando que el cliente bacula esté escuchando en el puerto que configuramos.
Para ello ejecuta el siguiente comando desde el Símbolo del Sistema (CMD):
netstat -a | find "9102"
En caso que el servicio "bacula-fd" se esté ejecutando, se te mostrará con el estado "LISTENING"
5.1 Si el servicio no se encuentra iniciado
Abre una terminal CMD como "Administrador" y ejecuta los siguientes comandos:
C:\Users\Administrador>cd "C:\Program Files\Bacula"
C:\Program Files\Bacula>.\bacula-fd.exe -c bacula-fd.conf
Si hay algún error, te lo indicará:
C:\Program Files\Bacula>
13-Jun 14:40 bacula-fd: ERROR TERMINATION at lib/lex.c:878
Config error: expected a name, got T_EQUALS: =
: line 90, col 15 of file C:/Program Files/Bacula/bacula-fd.conf
director = = all, !skipped, !restored, !verified
En este caso indica que el error está en la línea 90, y da error porqué no se ha comentado la línea del "director" (cuarto bloque).
Recomendamos revisar la configuración establecida.
6. Comunica la contraseña a SW
Escribe un nuevo comentario en tu muro de soporte indicando que deseas comunicarnos la contraseña del Bacula. Para más comodidad, adjuntamos un mensaje de muestra que puedes usarlo como plantilla:
Hola,
Siguiendo vuestro manual ya he configurado el software bacula para las copias de seguridad
que he contratado. Agradecería si podéis revisar la configuración para que se puedan
realizar las copias a partir de esta noche. Os paso los datos:
Servidor: cl20YYMMDDHHNNN.dnssw.net
IP: 81.25.1XX.YYY
Password del bacula: 12345678901234567890
Muchas gracias,
Saludos
Atención: Modifica los campos de Servidor, IP y Password del bacula por los correspondientes a tu servidor. El Password del bacula es el que hemos definido en el segundo bloque
¡Ya está! Una vez realizados estos pasos y habiendo comunicado la contraseña a nuestro equipo de ingeniería, se empezarán a realizar las copias de seguridad sin que debas preocuparte de nada más. Puedes realizar un seguimiento desde tu SWPanel.