RDIFF -Backup una herramienta de copia de seguridad incremental remota para Linux

RDIFF -Backup una herramienta de copia de seguridad incremental remota para Linux

rdiff-backup es un script de pitón potente y fácil de usar para copia de seguridad incremental local/remota, que funciona en cualquier sistema operativo POSIX como Linux, Mac OS X o Cygwin. Reúne las características notables de un espejo y una copia de seguridad incremental.

Significativamente, preserva subdirectorios, archivos de desarrollo, enlaces duros y atributos de archivos críticos como permisos, propiedad de UID/GID, tiempos de modificación, atributos extendidos, ACL y horquillas de recursos. Puede funcionar en un modo de eficiencia de ancho de banda sobre una tubería, de manera similar a la popular herramienta de copia de seguridad RSYNC.

rdiff-backup retrocede un solo directorio a otro a través de una red utilizando SSH, lo que implica que la transferencia de datos está encriptada así segura. El directorio de destino (en el sistema remoto) termina en una copia exacta del directorio de origen, sin embargo, las diferencias inversas adicionales se almacenan en un subdirectorio especial en el directorio de destino, lo que hace posible recuperar archivos perdidos hace algún tiempo.

Dependencias

Para usar RDIFF-Backup en Linux, necesitará los siguientes paquetes instalados en su sistema:

  • Python V2.2 o posterior
  • Librsync v0.9.7 o posterior
  • Los módulos Pylibacl y Pyxattr Python son opcionales pero necesarios para la lista de control de acceso POSIX (ACL) y el soporte de atributos extendidos respectivamente.
  • RDIFF-Backup-Statistics requiere Python V2.4 o posterior.

Cómo instalar RDIFF-Backup en Linux

Importante: Si está operando a través de una red, tendrá que instalar RDIFF-Backup en ambos sistemas, preferiblemente ambas instalaciones de RDIFF-Backup tendrán que ser exactamente la misma versión.

El script ya está presente en los repositorios oficiales de las distribuciones de Linux convencionales, simplemente ejecute el comando a continuación para instalar RDIFF-Backup y sus dependencias:

Intall Rdiff-Backup en Ubuntu

Instalar Rdiff-backup en Ubuntu Focal o Debian Bullseye o más nuevo (tiene 2.0).

$ sudo apt-get actualización $ sudo apt-get instalación librsync-dev rdiff-backup 

Instalar Rdiff-backup en Ubuntu Backports para versiones anteriores (necesita un retroceso 2.0).

$ sudo add-apt-repository PPA: rdiff-backup/rdiff-backup-backports $ sudo apt actualización $ sudo apt instalación rdiff-backu 

En Centos/Rhel 8

Para instalar RDIFF-Backup en CentOS y RHEL 8 (de COPR).

$ sudo yum install yum-plugin-cooprelease $ sudo yum copr habilita frankcrawford/rdiff-backup $ sudo yum instalación rdiff-backup 

En CentOS/RHEL 7

Para instalar RDIFF-Backup en CentOS y Rhel 7 (de COPR).

$ sudo yum install yum-plugin-cooprelease $ sudo yum copr habilita frankcrawford/rdiff-backup $ sudo yum instalación rdiff-backup 

En Centos/Rhel 6

$ sudo yum instalación centos-release-scl $ sudo yum instalación rh-python36 gcc libacl-devel $ scl habilitan rh-python36 bash $ sudo pip instalación rdiff-backup pyxattr pylibacl $ echo 'scl enable rh-python36-rdiff-backup "[Correo electrónico protegido]" '| sudo tee/usr/bin/rdiff-backup $ sudo chmod +x/usr/bin/rdiff-backup 

En Fedora

Para instalar RDIFF-Backup en Fedora 32+.

$ sudo dnf install rdiff-backup 

Cómo usar RDIFF-Backup en Linux

Como he mencionado antes, rdiff-backup Utiliza SSH para conectarse a máquinas remotas en su red, y la autenticación predeterminada en SSH es el método de nombre de usuario/contraseña, que normalmente requiere interacción humana.

Sin embargo, para automatizar tareas como copias de seguridad automáticas con scripts y más allá, deberá configurar el inicio de sesión sin contraseña SSH usando las teclas SSH, porque las teclas SSH aumentan la confianza entre dos servidores de Linux para una fácil sincronización de archivos o transferencia.

Una vez que haya configurado el inicio de sesión sin contraseña SSH, puede comenzar a usar el script con los siguientes ejemplos.

Archivos de copia de seguridad a diferentes particiones

El ejemplo a continuación respaldará el /etc directorio en un Respaldo Directorio en otra partición:

$ sudo rdiff-backup/etc/media/aaronkilik/data/backup/mint_etc.respaldo 
Archivos de copia de seguridad a diferentes particiones

Para excluir un directorio en particular, así como sus subdirectorios, puede usar el --excluir Opción de la siguiente manera:

$ sudo rdiff-backup --exclude/etc/cockpit --exclude/etc/bluetooth/media/aaronkilik/data/backup/mint_etc.respaldo 

Podemos incluir todos los archivos de dispositivos, archivos FIFO, archivos de socket y enlaces simbólicos con el --incluir archivos especiales Opción como se muestra a continuación:

$ sudo rdiff-backup --Clude-special-Files --exclude/etc/cockpit/media/aaronkilik/data/backup/mint_etc.respaldo 

Hay otras dos banderas importantes que podemos establecer para la selección de archivos; --Tamaño máximo de archivo tamaño que excluye archivos que son más grandes que el tamaño dado en bytes y --mínimo tamaño que excluye archivos que son más pequeños que el tamaño dado en bytes:

$ sudo rdiff-backup--max-file-size 5m-include-special-files --exclude/etc/cockpit/media/aaronkilik/data/backup/mint_etc.respaldo 

Copia de seguridad de archivos remotos en el servidor local de Linux

Para el propósito de esta sección, usaremos:

Servidor remoto (TecMint): 192.168.56.102 Servidor de copia de seguridad local (copia de seguridad): 192.168.56.10 

Como dijimos antes, debe instalar la misma versión de rdiff-backup En ambas máquinas, ahora intente verificar la versión en ambas máquinas de la siguiente manera:

$ rdiff -backup -v 
Verifique la versión RDIFF en los servidores

En el servidor de copia de seguridad, cree un directorio que almacenará los archivos de copia de seguridad de lo así:

# mkdir -p /copias de seguridad 

Ahora desde el servidor de copia de seguridad, ejecute los siguientes comandos para hacer una copia de seguridad de directorios /var/log/ y /raíz Desde el servidor remoto de Linux 192.168.56.102 en /copias de seguridad:

# rdiff-backup [correo electrónico protegido] ::/var/log//backups/192.168.56.102_logs.Copia de seguridad # rdiff-backup [correo electrónico protegido] ::/root//backups/192.168.56.102_rootfiles.respaldo 

La captura de pantalla a continuación muestra el archivo root en el servidor remoto 192.168.56.102 y los archivos de respaldo en el servidor posterior 192.168.56.10:

Directorio remoto de respaldo en el servidor local

Tome nota del Rdiff-Backup-Data directorio creado en el respaldo Directorio como se ve en la captura de pantalla, contiene datos vitales sobre el proceso de copia de seguridad y los archivos incrementales.

RDIFF -Backup - Archivos de proceso de copia de seguridad

Ahora, en el servidor 192.168.56.102, Se han agregado archivos adicionales al directorio raíz como se muestra a continuación:

Verificar el directorio de respaldo

Ejecutemos el comando de copia de seguridad una vez más tiempo para obtener los datos cambiados, podemos usar el -V [0-9] (Cuando el número especifica el nivel de verbosidad, el valor predeterminado es 3 que está en silencio) Opción para establecer la función de verbosidad:

# rdiff -backup -v4 [correo electrónico protegido] ::/root//backups/192.168.56.102_rootfiles.respaldo 
Copia de seguridad incremental con resumen

Y para enumerar el número y la fecha de las copias de seguridad incrementales parciales contenidas en el /copias de seguridad/192.168.56.102_rootfiles.respaldo directorio, podemos ejecutar:

# rdiff -backup -l /copias de seguridad /192.168.56.102_rootfiles.respaldo/ 

Automatizar la copia de seguridad de RDIFF con Cron

Podemos imprimir estadísticas de resumen después de una copia de seguridad exitosa con el --estadística de impresión. Sin embargo, si no establecemos esta opción, la información aún estará disponible en el archivo de estadísticas de la sesión. Lea más sobre esta opción en la sección de estadísticas de la página del hombre.

Y el -esquema remoto El indicador nos permite especificar un método alternativo para conectarse a una computadora remota.

Ahora, comencemos creando un respaldo.mierda Script en el servidor de copia de seguridad 192.168.56.10 como sigue:

# CD ~/bin # VI Copia de seguridad.mierda 

Agregue las siguientes líneas al archivo de script.

#!/bin/bash #This es un script de copia de seguridad de utilidad rdiff-backup #backup comando rdiff-backup --print-statistics-remote-schema 'ssh -c %s "sudo/usr/bin/rdiff-backup--server--server -restrict-solo-solo/"'[correo electrónico protegido] ::/var/logs/backups/192.168.56.102_logs.Atrás #Checking RDIFF-Backup Command Success/Error Status = $? Si [$ estado != 0]; Entonces #Apend Mensaje de error en ~/copia de seguridad.Archivo de registro echo "Código de salida RDIFF -Backup: $ status - comando sin éxito" >> ~/copia de seguridad.registro; salida 1; FI #Remove Archivos de copia de seguridad incrementales de más de un mes.168.56.102_logs.atrás 

Guarde el archivo y salga, luego ejecute el siguiente comando para agregar el script al crontab en el servidor de copia de seguridad 192.168.56.10:

# crontab -e 

Agregue esta línea para ejecutar su script de copia de seguridad diariamente a la medianoche:

0 0 * * */root/bin/backup.sh> /dev /null 2> y 1 

Guarde el crontab y cierre, ahora hemos exitoso automatizado el proceso de copia de seguridad. Asegúrese de que esté funcionando como se esperaba.

Lea la página del hombre RDIFF-Backup para obtener información adicional, opciones de uso exhaustivas y ejemplos:

# hombre rdiff-backup 

Rdiff-Backup Página de inicio: http: // www.nongnu.org/rdiff-backup/

Eso es todo por ahora! En este tutorial, le mostramos cómo instalar y básicamente usar RDIFF-Backup, un script de Python fácil de usar para una copia de seguridad incremental local/remota en Linux. Comparta sus pensamientos con nosotros a través de la sección de comentarios a continuación.