26.05.2023

Cómo configurar copias de seguridad remotas usando Bacula en Ubuntu 20.04

Recientemente configuramos el archivo copia de seguridad en un local Ubuntu Servidor 20.04 con Bacula, utilizaremos este servidor como Bacula Director y Storage. En este tutorial, agregaremos configuraciones para hacer una copia de seguridad de un control remoto client

Instalación y configuración del client

El client es una máquina remota en ejecución Ubuntu Servidor 20.04 cuyos datos serán respaldados. Instalemos el paquete Bacula para ello.

sudo apt install bacula-client

Abra el archivo de configuración.

sudo nano /etc/bacula/bacula-fd.conf

Copie la contraseña de la sección del primer Director a una ubicación disponible para uso futuro en el servidor de Bacula.

Director {
Nombre = Ubuntu-Server # Ingrese aquí el nombre del Director Bacula del servidor
Contraseña = "6L8hAXhC3BES4OlbkI2F-v6Xq66Dem05v" #Copiar este valor
}

Configure también los valores "Nombre" y "DirecciónFDA" en la sección FileDaemon. El mismo nombre que estableceremos en el servidor Bacula para este demonio de archivos client, y "FDAddress" debe contener la dirección IP en la que este cliestá disponible.

Daemon de archivo {
Nombre = Ubuntu-Client-fd
Puerto FD = 9102
Directorio de trabajo = /var/lib/bacula
Directorio Pid = /ejecutar/bacula
Máximo de trabajos simultáneos = 20
Directorio de complementos = /usr/lib/bacula
Dirección FDA = 10.5.5.5
}

Guarde el archivo y reinicie el servicio.

sudo systemctl reiniciar bacula-fd

Para poder restaurar archivos en esta máquina, cree una carpeta y haga que bacula sea su propietario.

mkdir /optar/restaurar
chown bacula:bacula /opt/restaurar

Configuración del servidor Bacula

El servidor Bacula ya está configurado. Usaremos el almacenamiento existente y agregaremos una configuración para hacer una copia de seguridad del client

Configure la dirección IP del servidor en el pag “SDAddress”rametro de la sección “Almacenamiento” en el /etc/bacula/bacula-sd.conf archivo.

Almacenamiento {
...
Dirección SD = 10.5.5.1
}

Abra el archivo de configuración de Bacula Director /etc/bacula/bacula-dir.conf.
Ingrese la dirección IP del servidor en el campo "DirAddress" de la sección Director.

Director {
Nombre = Ubuntuservidor
...
DirecciónDir = 10.5.5.1
}

Ingrese la misma dirección en el pa “Dirección”rameter de la sección “Almacenamiento”.

Almacenamiento {
...
Dirección = 10.5.5.1
}

También debe ingresarlo en el pa "Dirección"raméter en el /etc/bacula/bconsole.conf archivo.
Ahora ve al /etc/bacula/bacula-dir.conf archivo de nuevo y agregue un nuevo "Clisección ent”.

Client {
Nombre = Ubuntu-Client-fd # Valor del campo “Nombre” en la sección “FileDaemon” en el client
Dirección = 10.5.5.5 # Dirección IP del client
PuertoFD = 9102
Catálogo = MiCatálogo
Contraseña = "6L8hAXhC3BES4OlbkI2F-v6Xq66Dem05v" # Pegue aquí el valor de la “Contraseña” parameter en la sección "Director" en el client
}

Agregue una nueva sección "FileSet" con un nombre único. El “Archivo” paramLos controladores establecen las rutas de las que se realizará una copia de seguridad. Puede agregar cualquier número de ellos.

conjunto de archivos {
Nombre = "FS Remoto"
Incluir {
Opciones {
signatura = MD5
}
Archivo = /inicio/usuario1
Archivo = /inicio/usuario2
}
}

Agregue una nueva sección de "Programación", establezca un nombre único para ella y seleccione una hora para la copia de seguridad.

Cronograma {
Nombre = "RemotoDiariamente"
Run = Full todos los días a las 05:00
}

Agregue una nueva sección de piscina.

Piscina {
Nombre = Grupo Remoto
Tipo de grupo = Copia de seguridad
Formato de etiqueta = "RM-" # Nueva etiqueta para separar archivos en el almacenamiento de copia de seguridad de las copias de seguridad locales
}

Agregar una nueva sección de trabajo.

Trabajo {
Client = "Ubuntu-Client-fd" # El valor de "Nombre" del recientemente creado "Client”
Nombre = "Copia de seguridad remota"
JobDefs = "Trabajo predeterminado"
Habilitado = si
Nivel = Completo
FileSet = "RemoteFS" # El nombre de la sección "FileSet" agregada recientemente
Schedule = "RemoteDaily" # El nombre del horario para este Trabajo
Pool = "RemotePool" # Debe ser igual al nombre "Pool" creado recientemente
Almacenamiento = LocalSD
Escriba Bootstrap = "/var/lib/bacula/RemoteBackup.bsr"
}

Agregue también la sección "Trabajo" para poder restaurar los datos.

Trabajo {
Nombre = "Restauración remota"
Tipo = Restaurar
Client= "Ubuntu-Client-fd"
FileSet="Conjunto completo"
Almacenamiento = LocalSD
Grupo = "grupo remoto"
Mensajes = Estándar
Donde = /opt/restore # Ruta a la carpeta que creamos en el client para restaurar datos
Bootstrap = "/var/lib/bacula/RemoteBackup.bsr"
}

Guarde y cierre el archivo y reinicie el servicio Bacula.

sudo systemctl reiniciar bacula-dir

Ejecutar la copia de seguridad del servidor remoto usando Bacula

El trabajo de copia de seguridad comenzará ahora a la hora programada. Para iniciarlo de inmediato, vaya a "bconsole".

bconsola

Salida:

Conexión a Director 10.5.5.1:9101
1000 correcto: 103 Ubuntu-Versión del servidor: 9.4.2 (04 de febrero de 2019)
Ingrese un período para cancelar un comando.
*

Ingrese "ejecutar" y seleccione el trabajo "RemoteBackup". Ahora puede consultar, modificar o confirmar las pautas enumeradas.raméteres. También puede cambiar el destinonation para la recuperación de archivos en este paso, por ejemplo. Puede ser útil en el caso de clipérdida ent.

Ejecutar trabajo de copia de seguridad
Nombre del trabajo: copia de seguridad remota
Nivel: Completo
Client: Ubuntu-Client-fd
Conjunto de archivos: RemoteFS
Pool: RemotePool (desde el recurso del trabajo)
Almacenamiento: LocalSD (De recurso de trabajo)
...

Para ver información sobre programación, ejecución y terminated Jobs, escriba "estado" y "1" entonces.
Para restaurar los datos, ingrese el comando "restaurar" en bconsole y siga las instrucciones.