rdiff-backup: una herramienta de copia de seguridad incremental remota para Linux

rdiff-backup. es un script de Python 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, conserva subdirectorios, archivos dev, enlaces duros y atributos de archivos críticos como permisos, propiedad de uid/gid, tiempos de modificación, extensión atributos, acls y bifurcaciones de recursos. Puede funcionar en un modo de ancho de banda eficiente a través de una tubería, de manera similar a la popular herramienta de copia de seguridad rsync.

rdiff-backup. realiza una copia de seguridad de un directorio en otro a través de un red utilizando SSH, lo que implica que la transferencia de datos está encriptada y por lo tanto es segura. El directorio de destino (en el sistema remoto) termina siendo 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 más tarde.

Cómo instalar rdiff-backup en Linux

Importante. si está operando sobre una red, tendrá que instalar rdiff-backup en ambos sistemas, preferiblemente ambas instalaciones de rdiff-backup tendrán que ser exactamente de la misma versión.

freestar.config.enabled_slots.push (LocationName: “tecmint_incontent”, slotId: “t ecmint_incontent “);

El script ya está presente en los repositorios oficiales de las principales distribuciones de Linux, simplemente ejecute el siguiente comando para instalar rdiff-backup y sus dependencias:

Instalar rdiff-backup en Ubuntu

Para instalar Rdiff-Backup. en Ubuntu Focal. o Debian Bullseye. o más reciente (tiene 2.0).

$ sudo apt-get actualizar $ sudo apt-get install librsync-dev rdiff-backup

Para instalar Rdiff-Backup. en los backports de Ubuntu para versiones anteriores (necesita un backported 2.0).

$ sudo add-apt-repository ppa: rdiff-backup/rdiff-backup-backports $ sudo apt update $ sudo apt install rdiff-backu En CentOS/RHEL 8

Para instalar Rdiff-Backup en CentOS y RHEL 8 (desde COPR).

$ sudo yum install yum-plugin-copr epel-release $ sudo yum copr enable frankcrawford/rdiff-backup $ sudo yum install rdiff-backup En CentOS/RHEL 7

Para instalar Rdiff-Backup en CentOS y RHEL 7 (desde COPR).

$ sudo yum install yu m-plugin-copr epel-release $ sudo yum copr enable frankcrawford/rdiff-backup $ sudo yum install rdiff-backup En CentOS/RHEL 6 $ sudo yum install centos-release-scl $ sudo yum install rh-python36 gcc libacl-devel $ scl enable rh-python36 bash $ sudo pip install rdiff-backup pyxattr pylibacl $ echo ‘exec scl enable rh-python36-rdiff-backup “[email protected]”‘ | 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 mencioné antes, rdiff-backup. usa 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, deberá configurar el inicio de sesión sin contraseña SSH mediante claves SSH, porque las claves SSH aumentan el confianza entre dos servidores Linux para una fácil sincronización o transferencia de archivos.

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

Copia de seguridad de archivos en una partición diferente

El siguiente ejemplo hará una copia de seguridad del directorio/etc en un directorio Copia de seguridad. en otra partición:

$ sudo rdiff-backup/etc/media/aaronkilik/Data/Backup/mint_etc.backup  Copia de seguridad de archivos en otra partición Copia de seguridad de archivos en otra partición

Para excluir también un directorio en particular como subdirectorios, puede usar la opción–exclude de la siguiente manera:

$ sudo rdiff-backup–exclude/etc/cockpit–exclude/etc/bluetooth/media/aaronkilik/Data/Backup/mint_etc.backup

Podemos incluir todos los archivos de dispositivo, archivos Fifo, archivos de socket y enlaces simbólicos con la opción–include-special-files como se muestra a continuación:

$ sudo rdiff-backup–include-special-files-exclude/etc/cockpit/media/aaronkilik/Data/Backup/mint_etc.backup

Hay otras dos banderas importantes que podemos establecer para la selección de archivos;–max-file-size size que excluye archivos que son más grandes que el tamaño dado en bytes y–min-file-size size 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.backup Copia de seguridad de archivos remotos en el servidor Linux local

Para este propósito sección, usaremos:

Servidor remoto (tecmint): 192.168.56.102 Servidor de respaldo local (respaldo): 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 de rdiff en el ancho de los servidores Verifique la versión de rdiff en Servidores

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

# mkdir-p/backups

Ahora desde el servidor de respaldo, ejecute los siguientes comandos para hacer un respaldo de directorios/var/log/y/root desde el servidor Linux remoto 192.168.56.102. en/backups:

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

La siguiente captura de pantalla muestra el archivo raíz en el servidor remoto 192.168.56.102. y los archivos respaldados en el servidor trasero 192.168.56.10.

 Copia de seguridad del directorio remoto en el servidor local Copia de seguridad del directorio remoto en el servidor local

Tome nota del rdiff-backup-data. creado en el directorio de respaldo como se ve en la captura de pantalla, contiene datos vitales sobre el proceso de respaldo y archivos incrementales.

 rdiff-backup-Archivos de proceso de copia de seguridad rdiff-backup-Archivos de proceso de copia de seguridad

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

 Verificar directorio de respaldo Verificar directorio de respaldo

Ejecutemos el comando de respaldo una vez más para obtener los datos modificados, podemos usar-v [0-9] (donde el número especifica la verbosidad nivel, el valor predeterminado es 3 que es silencioso) opción para configurar la función de verbosidad:

# rdiff-backup-v4 [email protected] ::/root//backups/192.168.56.102_rootfiles.backup  Copia de seguridad incremental con resumen Copia de seguridad incremental con resumen

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

# rdiff-backup-l/backups/192.168.56.102_rootfiles.backup/Automatizando rdiff-back Backup usando Cron

Podemos imprimir resumen estadísticas después de una copia de seguridad exitosa con–print-statistics. Sin embargo, si no configuramos esta opción, la información seguirá estando disponible en el archivo de estadísticas de la sesión. Lea más sobre esta opción en la sección ESTADÍSTICAS de la página de manual.