Tutoriales

Duplicity: cree copias de seguridad incrementales cifradas en Linux

La experiencia demuestra que nunca puede ser demasiado paranoico acerca de las copias de seguridad del sistema. Cuando se trata de proteger y preservar sus valiosos datos, es mejor hacer un esfuerzo adicional y asegurarse de que puede confiar en las copias de seguridad cuando las necesite.

Incluso hoy en día, cuando algunos proveedores de alojamiento y nube ofrecen copias de seguridad automáticas para VPS a un costo relativamente bajo, es mejor que use sus propias herramientas para crear su propia estrategia de copia de seguridad para ahorrar algo de dinero, y luego tal vez la use para comprar espacio de almacenamiento adicional o obtener un VPS más grande.

[ You might also like: 25 Outstanding Backup Utilities for Linux Systems ]

¿Suena bastante bien?En este artículo, le mostraremos cómo usar un duplicidad Copia de seguridad y cifrar archivos y directorios. Además, utilizar copias de seguridad incrementales para esta tarea nos ayudará a ahorrar espacio.

Dicho esto, comencemos.

Instale la herramienta de copia de seguridad Duplicity en Linux

Para instalar duplicity en distribuciones basadas en RHEL, debe habilitar EPEL Repositorio primero (puede omitir este paso si está utilizando sombrero de fieltro sí mismo):

# yum update 
# yum install epel-release
OR
# yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

y luego corre,

# yum install duplicity

Para Debian y sus derivados:

$ sudo apt update 
$ sudo apt install duplicity

En teoría, se admiten muchos métodos de conexión a un servidor de archivos, aunque en la práctica solo se han probado ssh/scp/sftp, acceso a archivos locales, rsync, ftp, HSI, WebDAV y Amazon S3.

Una vez instalado, utilizaremos exclusivamente sftp En varios escenarios, los datos se pueden respaldar o restaurar.

Nuestro entorno de prueba incluye un RHEL 8 cuadro (para ser copia de seguridad) y un Debian 11 máquina (servidor de respaldo).

Cree claves SSH para iniciar sesión sin contraseña en servidores remotos

Primero vamos a crear claves SSH en el cuadro RHEL y transferirlas a Debian servidor de respaldo.

Si está ejecutando SSH en un puerto diferente, los siguientes comandos asumen sshd El daemon está escuchando en el puerto. XXXXX en el servidor Debian.reemplazar AAA.BBB.CCC.DDD Utilice la IP real del servidor remoto.

# ssh-keygen -t rsa
# ssh-copy-id [email protected]
# ssh-copy-id -p XXXXX [email protected]  

Luego, debe asegurarse de poder conectarse al servidor de respaldo sin una contraseña:

# ssh [email protected]
Inicio de sesión remoto sin contraseña SSH

Ahora tenemos que crear GPG La clave que se utilizará para cifrar y descifrar nuestros datos:

# gpg2 --full-gen-key

Se le pedirá que ingrese:

  • tipo de llave
  • tamaño de clave
  • Cuánto tiempo debe ser válida la clave
  • contraseña
Crear claves GPG RSA en Linux
Crear claves GPG RSA en Linux

Para crear la entropía necesaria para crear la clave, puede iniciar sesión en el servidor a través de otra ventana de terminal y realizar algunas tareas o ejecutar algunos comandos para generar entropía (de lo contrario, tendrá que esperar mucho tiempo para que se complete esta parte del proceso) .

Después de generar claves, puede enumerarlas de la siguiente manera:

# gpg --list-keys
Listar claves GPG
Listar claves GPG

La cadena resaltada en amarillo arriba se llama ID de clave pública y es el parámetro de solicitud para el archivo cifrado.

Crear copias de seguridad periódicas de Linux

Primero, solo hagamos una copia de seguridad /var/registro directorio, excepto /var/log/anaconda y /var/log/sa.

Dado que esta es nuestra primera copia de seguridad, será una copia de seguridad completa. Las ejecuciones posteriores crearán copias de seguridad incrementales (a menos que agreguemos la opción completa sin el guión junto a la duplicidad en el siguiente comando):

# PASSPHRASE="tecmint" duplicity --encrypt-key 115B4BB13BC768B8B2704E5663C429C3DB8BAD3B --exclude /var/log/anaconda --exclude /var/log/sa /var/log scp://[email protected]//backups/rhel8
OR
# PASSPHRASE="YourPassphraseHere" duplicity --encrypt-key YourPublicKeyIdHere --exclude /var/log/anaconda --exclude /var/log/sa /var/log scp://[email protected]:XXXXX//backups/rhel8

¡Asegúrate de no perderte las barras dobles en el comando anterior! Se utilizan para indicar rutas absolutas a directorios denominados /copia de seguridad/rhel8 En el cuadro de copia de seguridad, es donde se almacenan los archivos de copia de seguridad.

reemplazar tu contraseña está aquí, SuIdClavePúblicaAquí, y servidor remoto Use la contraseña que ingresó anteriormente, la ID de clave pública de GPG y la IP o el nombre de host del servidor de respaldo, respectivamente.

Su salida debe parecerse a la imagen a continuación:

Crear copia de seguridad de la partición /var
Crea copias de seguridad con Duplicity

La figura anterior muestra un total de 86,3 MB está respaldado en un 3,22 MB en el destino Pasemos al servidor de copia de seguridad para comprobar nuestra copia de seguridad recién creada:

Confirmar archivo de copia de seguridad de Linux
Confirmar archivo de copia de seguridad de Linux

Ejecutar el mismo comando por segunda vez produce un tamaño y tiempo de copia de seguridad más pequeños:

copia de seguridad comprimida
copia de seguridad comprimida

Restauración de copias de seguridad de Linux con Duplicity

Para restaurar correctamente un archivo, un directorio que contenga su contenido o la copia de seguridad completa, el destino no debe existir (las repeticiones no sobrescriben los archivos o directorios existentes).Para aclarar, eliminemos cron Inicie sesión en el cuadro de CentOS:

# rm -f /var/log/cron

La sintaxis para restaurar un solo archivo desde un servidor remoto es:

# PASSPHRASE="YourPassphraseHere" duplicity --file-to-restore filename sftp://[email protected]//backups/rhel8 /where/to/restore/filename

Donde,

  • Nombre del archivo es el archivo a extraer, con una ruta relativa al directorio de copia de seguridad
  • /dónde/a/restaurar es el directorio del sistema local en el que queremos restaurar el archivo.

En nuestro caso, para restaurar el registro maestro cron desde una copia de seguridad remota, debemos ejecutar:

# PASSPHRASE="YourPassphraseHere" duplicity --file-to-restore cron sftp://[email protected]:XXXXX//backups/rhel8 /var/log/cron

Los registros cron deben restaurarse en el destino deseado.

Nuevamente, siéntase libre de eliminar el directorio /var/registro y restaurarlo usando la copia de seguridad:

# rm -rf /var/log/mail
# PASSPHRASE="YourPassphraseHere" duplicity --file-to-restore mail sftp://[email protected]:XXXXX//backups/rhel8 /var/log/mail

En este ejemplo, correo El directorio debe restaurarse a la ubicación original de todo su contenido.

Otras características de la duplicidad

Puede mostrar una lista de archivos archivados en cualquier momento con el comando:

# duplicity list-current-files sftp://[email protected]:XXXXX//backups/rhel8

Eliminar copias de seguridad de más de 6 meses:

# duplicity remove-older-than 6M sftp://[email protected]:XXXXX//backups/rhel8

recuperar mi archivo dentro del directorio canepa Hace como 2 días 12 horas:

# duplicity -t 2D12h --file-to-restore gacanepa/myfile sftp://[email protected]:XXXXX//remotedir/backups /home/gacanepa/myfile

En el último comando podemos ver un ejemplo del uso de intervalos de tiempo (por -t): una serie de pares, donde cada par consta de un número y un carácter s, arroz, H, D, W, arroz, o (indica segundos, minutos, horas, días, semanas, meses o años, respectivamente).

generalizar

En este artículo, explicamos cómo usar Duplicity, una utilidad de copia de seguridad que proporciona cifrado listo para usar para archivos y directorios.Te recomiendo encarecidamente que eches un vistazo Artículo duplicado sitio web para obtener más documentación y ejemplos.

Para su comodidad, hemos proporcionado dos páginas de manual en formato PDF, así como una guía de referencia completa.

Si tiene alguna pregunta o comentario, no dude en hacérnoslo saber.

Si aprecia lo que estamos haciendo en TecMint, debe considerar:

TecMint es el sitio comunitario de más rápido crecimiento y más confiable para artículos, guías y libros de Linux de cualquier tipo en la web. ¡Millones de personas visitan TecMint! Busque o explore miles de artículos publicados que están disponibles gratuitamente para todos.

Si le gusta lo que está leyendo, considere invitarnos a un café (o dos) como agradecimiento.

Apoyanos

Agradecemos su apoyo interminable.

.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba