Instalar el servidor de copias de seguridad de Bacula en Ubuntu 20.04
Bacula es una herramienta de copia de seguridad de código abierto que puede utilizarse para hacer copias de seguridad y restaurar datos en la red. Es una herramienta sencilla y fácil de usar, y ofrece muchas funciones avanzadas de gestión del almacenamiento que te ayudan a hacer copias de seguridad y a recuperar tus archivos perdidos fácilmente. Es compatible con el cliente de copia de seguridad de Linux, Windows y macOS, y también admite una amplia gama de dispositivos de copia de seguridad. Bacula se compone de varios componentes, entre los que se encuentran el directorio de Bacula, Bacula, la consola, el almacenamiento de Bacula, el archivo de Bacula y el catálogo de Bacula. Cada componente es responsable de gestionar trabajos específicos.
En este tutorial, te mostraremos cómo instalar y configurar el sistema de copia de seguridad en Ubuntu 20.04.
Requisitos previos
- Un servidor que ejecute Ubuntu 20.04 con un mínimo de 2 GB de RAM.
- Una contraseña de root configurada el servidor.
Cómo empezar
En primer lugar, tendrás que actualizar tu sistema a la última versión estable. Puedes actualizarlo con el siguiente comando:
apt-get update -y
Una vez actualizados todos los paquetes, puedes pasar al siguiente paso.
Instalar Bacula
Por defecto, el paquete Bacula está disponible en el repositorio por defecto de Ubuntu 20.04. Puedes instalarlo fácilmente con el siguiente comando:
apt-get install bacula -y
Durante la instalación, se te pedirá que selecciones el servidor de correo como se muestra a continuación:
Selecciona el servidor de correo que desees y haz clic en el botón Aceptar. Se te pedirá que proporciones el nombre de tu sistema de correo como se muestra a continuación:
Proporciona el nombre de tu sistema de correo y haz clic en el botón Aceptar. Se te pedirá que configures una base de datos para bacula como se muestra a continuación:
Haz clic en el botón Sí. Se te pedirá que selecciones el host del servidor PostgreSQL como se muestra a continuación:
Selecciona localhost y haz clic en el botón Aceptar. Se te pedirá que proporciones la contraseña de PostgreSQL como se muestra a continuación:
Proporciona la contraseña que desees y haz clic en el botón Aceptar para continuar la instalación.
Una vez instalado el paquete de Bacula, puedes pasar al siguiente paso.
Configurar el almacenamiento de Bacula
Antes de empezar, crea un directorio para almacenar los archivos de copia de seguridad. Puedes crearlo con el siguiente comando:
mkdir /backup
A continuación, cambia la propiedad del directorio bacula al usuario y grupo bacula con el siguiente comando:
chown -R bacula:bacula /backup
A continuación, tendrás que editar el archivo de configuración por defecto de bacula storage y definir el dispositivo y la ubicación del almacenamiento.
nano /etc/bacula/bacula-sd.conf
Elimina o comenta otras secciones «Dispositivo {» y «Intercambiador automático {» y añade las siguientes líneas:
Device { Name = Local-device Media Type = File Archive Device = /backup 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 }
Guarda y cierra el archivo cuando hayas terminado. A continuación, reinicia el servicio de almacenamiento de Bacula con el siguiente comando:
systemctl restart bacula-sd.service
Ahora puedes verificar el estado del almacenamiento de Bacula con el siguiente comando:
systemctl status bacula-sd
Deberías obtener la siguiente salida:
? bacula-sd.service - Bacula Storage Daemon service Loaded: loaded (/lib/systemd/system/bacula-sd.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2020-10-06 09:32:43 UTC; 8s ago Docs: man:bacula-sd(8) Process: 10687 ExecStartPre=/usr/sbin/bacula-sd -t -c $CONFIG (code=exited, status=0/SUCCESS) Main PID: 10688 (bacula-sd) Tasks: 2 (limit: 4691) Memory: 1.0M CGroup: /system.slice/bacula-sd.service ??10688 /usr/sbin/bacula-sd -fP -c /etc/bacula/bacula-sd.conf Oct 06 09:32:43 ubuntu2004 systemd[1]: Starting Bacula Storage Daemon service... Oct 06 09:32:43 ubuntu2004 systemd[1]: Started Bacula Storage Daemon service.
Configurar el Director de Bacula
A continuación, tendrás que editar el archivo de configuración del director de Bacula y proporcionar tu ubicación de almacenamiento. Puedes editarlo con el siguiente comando:
nano /etc/bacula/bacula-dir.conf
Añade las siguientes líneas, incluyendo, Nombre del dispositivo, Nombre del almacenamiento, Contraseña, Trabajo, etc.
Storage { Name = ubuntu2004-sd # Must be equal to the "Name" parameter of the "Storage" section in the /etc/bacula/bacula-sd.conf file Address = 127.0.0.1 Password = "aFEH-0a3QycsbYQVcoy_VoUMhAHJQ00CD" # Password must match the password in the /etc/bacula/bacula-sd.conf Device = Local-device Media Type = File } FileSet { Name = "Local-file" Include { Options { signature = MD5 } File = /etc } } Schedule { Name = "LocalDaily" Run = Full daily at 06:00 } Job { Name = "LocalBackup" JobDefs = "DefaultJob" Enabled = yes Level = Full FileSet = "Local-file" Schedule = "LocalDaily" Storage = ubuntu2004-sd Write Bootstrap = "/var/lib/bacula/LocalhostBackup.bsr" }
Guarda y cierra el archivo cuando hayas terminado y reinicia el servicio de Bacula director para aplicar los cambios:
systemctl restart bacula-dir
También puedes verificar el estado del servicio Bacula director con el siguiente comando:
systemctl status bacula-dir
Deberías obtener la siguiente salida:
? bacula-director.service - Bacula Director Daemon service Loaded: loaded (/lib/systemd/system/bacula-director.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2020-10-06 09:32:43 UTC; 9s ago Docs: man:bacula-dir(8) Process: 10667 ExecStartPre=/usr/sbin/bacula-dir -t -c $CONFIG (code=exited, status=0/SUCCESS) Main PID: 10683 (bacula-dir) Tasks: 3 (limit: 4691) Memory: 2.1M CGroup: /system.slice/bacula-director.service ??10683 /usr/sbin/bacula-dir -fP -c /etc/bacula/bacula-dir.conf Oct 06 09:32:43 ubuntu2004 systemd[1]: Starting Bacula Director Daemon service... Oct 06 09:32:43 ubuntu2004 systemd[1]: Started Bacula Director Daemon service.
Verificar el trabajo de copia de seguridad
En este punto, Bacula está instalado y configurado para ejecutarse diariamente a las 6:00. Ahora, vamos a utilizar la consola de Bacula para ejecutar nuestro primer trabajo de copia de seguridad.
bconsole
Una vez conectado, deberías obtener la siguiente salida:
Connecting to Director localhost:9101 1000 OK: 103 ubuntu2004-dir Version: 9.4.2 (04 February 2019) Enter a period to cancel a command.
A continuación, ejecuta el siguiente comando para iniciar el trabajo de copia de seguridad:
*run
Se te pedirá que selecciones el trabajo de copia de seguridad como se muestra a continuación:
Automatically selected Catalog: MyCatalog Using Catalog "MyCatalog" A job name must be specified. The defined Job resources are: 1: BackupClient1 2: LocalBackup 3: BackupCatalog 4: RestoreFiles Select Job resource (1-4): 2
Escribe 2 para seleccionar el LocalBackup que has definido en el archivo de configuración y pulsa Intro. Deberías ver la siguiente salida:
Run Backup job JobName: LocalBackup Level: Full Client: ubuntu2004-fd FileSet: Local-file Pool: File (From Job resource) Storage: ubuntu2004-sd (From Job resource) When: 2020-10-06 09:50:47 Priority: 10 OK to run? (yes/mod/no): yes Job queued. JobId=3 You have messages.
En este punto, se inicia el trabajo de copia de seguridad. Puedes comprobar el estado del trabajo de copia de seguridad con el siguiente comando:
*status
Se te pedirá que selecciones el estado de los siguientes componentes:
Status available for: 1: Director 2: Storage 3: Client 4: Scheduled 5: Network 6: All Select daemon type for status (1-6): 1
Escribe 1 y pulsa Intro para comprobar el estado del Director. Deberías ver la siguiente salida:
ubuntu2004-dir Version: 9.4.2 (04 February 2019) x86_64-pc-linux-gnu ubuntu 20.04 Daemon started 06-Oct-20 09:50, conf reloaded 06-Oct-2020 09:50:27 Jobs: run=1, running=0 mode=0,0 Heap: heap=274,432 smbytes=106,782 max_bytes=135,168 bufs=343 max_bufs=377 Res: njobs=4 nclients=1 nstores=3 npools=3 ncats=1 nfsets=3 nscheds=3 Scheduled Jobs: Level Type Pri Scheduled Job Name Volume =================================================================================== Full Backup 10 07-Oct-20 06:00 LocalBackup Vol-0001 ==== Running Jobs: Console connected at 06-Oct-20 09:50 No Jobs running. ==== Terminated Jobs: JobId Level Files Bytes Status Finished Name ==================================================================== 1 Full 2,262 2.875 M OK 06-Oct-20 09:50 LocalBackup ====
A continuación, ejecuta de nuevo el comando de estado y comprueba el estado del almacenamiento de Bacula.
*status
Deberías ver la siguiente salida:
Status available for: 1: Director 2: Storage 3: Client 4: Scheduled 5: Network 6: All Select daemon type for status (1-6): 2 The defined Storage resources are: 1: File1 2: ubuntu2004-sd Select Storage resource (1-2): 1 Connecting to Storage daemon File1 at localhost:9103 ubuntu2004-sd Version: 9.4.2 (04 February 2019) x86_64-pc-linux-gnu ubuntu 20.04 Daemon started 06-Oct-20 09:50. Jobs: run=1, running=0. Heap: heap=106,496 smbytes=369,301 max_bytes=567,404 bufs=90 max_bufs=110 Sizes: boffset_t=8 size_t=8 int32_t=4 int64_t=8 mode=0,0 newbsr=0 Res: ndevices=1 nautochgr=0 Running Jobs: No Jobs running. ==== Jobs waiting to reserve a drive: ==== Terminated Jobs: JobId Level Files Bytes Status Finished Name =================================================================== 3 Full 2,262 3.156 M OK 06-Oct-20 09:50 LocalBackup ==== Device status: Device File: "Local-device" (/backup) is not open. Available Space=93.95 GB == ==== Used Volume status: ==== Attr spooling: 0 active jobs, 454,546 bytes; 1 total jobs, 454,546 max bytes. ====
A continuación, sal de la consola de Bacula con el siguiente comando:
*exit
A continuación, verifica el directorio de la copia de seguridad con el siguiente comando
ls /backup/
Deberías ver que se ha creado la copia de seguridad Vol-0001:
Vol-0001
Conclusión
Enhorabuena! has instalado y configurado con éxito la copia de seguridad de Bacula en el servidor Ubuntu 20.04. Ahora puedes instalar el cliente de Bacula en la máquina remota y hacer una copia de seguridad de tu sistema cliente fácilmente. No dudes en preguntarme si tienes alguna duda.