Bacula es una herramienta de copia de seguridad de código abierto que se puede utilizar para realizar copias de seguridad y restaurar datos en toda la red. Es una herramienta simple y fácil de usar, y ofrece muchas funciones avanzadas de administración de almacenamiento que lo ayudan a realizar copias de seguridad y recuperar sus archivos perdidos fácilmente. Es compatible con el cliente de copia de seguridad de Linux, Windows y macOS y también es compatible con una amplia gama de dispositivos de copia de seguridad. Bacula está hecho de varios componentes, incluidos 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 administrar trabajos específicos.
En este tutorial, le mostraremos cómo instalar y configurar el sistema de copia de seguridad en Ubuntu 20.04.
Requisitos
- Un servidor con Ubuntu 20.04 con un mínimo de 2 GB de RAM.
- Se configura una contraseña de root en el servidor.
Cómo empezar
Primero, deberá actualizar su sistema a la última versión estable. Puede actualizarlo con el siguiente comando:
apt-get update -y
Una vez que todos los paquetes estén actualizados, puede continuar con el siguiente paso.
Instalar Bacula
De forma predeterminada, el paquete Bacula está disponible en el repositorio predeterminado de Ubuntu 20.04. Puede instalarlo fácilmente usando el siguiente comando:
apt-get install bacula -y
Durante la instalación, se le pedirá que seleccione el servidor de correo como se muestra a continuación:
Seleccione el servidor de correo deseado y haga clic en Aceptar botón. Se le pedirá que proporcione su nombre de correo del sistema como se muestra a continuación:
Proporcione el nombre de correo de su sistema y haga clic en Aceptar botón. Se le pedirá que configure una base de datos para bacula como se muestra a continuación:
Haga clic en Sí botón. Se le pedirá que seleccione el host del servidor PostgreSQL como se muestra a continuación:
Seleccione localhost y haga clic en Aceptar botón. Se le pedirá que proporcione la contraseña de PostgreSQL como se muestra a continuación:
Proporcione su contraseña deseada y haga clic en Aceptar botón para continuar con la instalación.
Una vez instalado el paquete Bacula, puede continuar con el siguiente paso.
Configurar almacenamiento Bacula
Antes de comenzar, cree un directorio para almacenar los archivos de copia de seguridad. Puedes crearlo con el siguiente comando:
mkdir /backup
A continuación, cambie la propiedad del directorio bacula al usuario y grupo bacula con el siguiente comando:
chown -R bacula:bacula /backup
A continuación, deberá editar el archivo de configuración predeterminado de almacenamiento de bacula y definir el dispositivo y la ubicación del almacenamiento.
nano /etc/bacula/bacula-sd.conf
Elimine o comente otras secciones "Dispositivo {" y "Autocambiador {" y agregue 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 }
Guarde y cierre el archivo cuando haya terminado. Luego, reinicie el servicio de almacenamiento de Bacula usando el siguiente comando:
systemctl restart bacula-sd.service
Ahora puede verificar el estado del almacenamiento de Bacula con el siguiente comando:
systemctl status bacula-sd
Deberías obtener el siguiente resultado:
? 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 Bacula Director
A continuación, deberá editar el archivo de configuración del director de Bacula y proporcionar su ubicación de almacenamiento. Puedes editarlo con el siguiente comando:
nano /etc/bacula/bacula-dir.conf
Agregue las siguientes líneas, incluidos el nombre del dispositivo, el nombre del almacenamiento, la contraseña, el 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" }
Guarde y cierre el archivo cuando haya terminado, luego reinicie el servicio del director de Bacula para aplicar los cambios:
systemctl restart bacula-dir
También puede verificar el estado del servicio del director Bacula con el siguiente comando:
systemctl status bacula-dir
Deberías obtener el siguiente resultado:
? 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 trabajo de copia de seguridad
En este punto, Bacula está instalado y configurado para ejecutarse diariamente a las 6:00. Ahora, usemos Bacula Console para ejecutar nuestro primer trabajo de copia de seguridad.
bconsole
Una vez conectado, debería obtener el siguiente resultado:
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, ejecute el siguiente comando para iniciar el trabajo de copia de seguridad:
*run
Se le pedirá que seleccione 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
Escriba 2 para seleccionar la copia de seguridad local que ha definido en el archivo de configuración y pulse Intro. Debería ver el siguiente resultado:
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. Puede comprobar el estado del trabajo de copia de seguridad con el siguiente comando:
*status
Se le pedirá que seleccione 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
Escriba 1 y presione Entrar para verificar el estado del Director. Debería ver el siguiente resultado:
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, vuelva a ejecutar el comando de estado y verifique el estado del almacenamiento de Bacula.
*status
Debería ver el siguiente resultado:
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, salga de la consola de Bacula con el siguiente comando:
*exit
A continuación, verifique el directorio de copia de seguridad con el siguiente comando:
ls /backup/
Debería ver que se crea la copia de seguridad Vol-0001:
Vol-0001
Conclusión
¡Felicidades! Ha instalado y configurado correctamente la copia de seguridad de Bacula en el servidor Ubuntu 20.04. Ahora puede instalar el cliente Bacula en la máquina remota y hacer una copia de seguridad de su sistema cliente fácilmente. Siéntase libre de preguntarme si tiene alguna pregunta.