Rsync: descubre cómo usar el comando de Linux

Rsync: descubre cómo usar el comando de Linux

jueves, 8 de abril de 2021 | Comentarios

Escrito por

Rsync (sincronización remota) es una utilidad que le permite sincronizar dos carpetas remotas y hasta dos ubicaciones locales en el Sistema Operacional Linux. Utiliza un algoritmo que minimiza la cantidad de datos copiados, moviendo solo las partes de los archivos que se han modificado.

Además, se pueden transferir y copiar archivos a una máquina remota. Las ventajas que ofrece rsync son muchas. Echa un vistazo a continuación.

  • Copia y sincroniza archivos de manera eficiente hacia/desde un sistema remoto.
  • Admite la copia de links, dispositivos, propietarios, grupos y permisos.
  • Es más rápido que SCP porque rsync Linux usa un protocolo de actualización remota. Funciona de la siguiente manera: al principio, copia todo el contenido de un archivo de origen para el destino. Después, trabaja solo con partes de bloques y bytes alterados.
  • Consume menos ancho de banda porque utiliza el método de compresión y descompresión al enviar y recibir datos en ambos extremos.
  • Está disponible en todas las distribuciones Linux, pero también en NAS (synology, QNAP, netgear, etc.). Todavía hay adaptaciones para Windows.

Para obtener más información sobre las funciones y cómo usar rsync Linux, ¡sigue este artículo!

Sintaxis básica de Rsync

Rsync funciona tanto de una ubicación a otra como de una ubicación a otra remota o remota a una ubicación. La sintaxis es clásica, como cualquier utilidad de copia. Indicamos origen y destino:

  • rsync dir1/ dir2

Aquí, son copias locales que pueden ser prácticas, por ejemplo, para transferir datos estrictamente idénticos de un disco a otro.

La sintaxis para sincronizar o transferir archivos con una máquina remota es la siguiente:

  • rsync [fuente] [usuario] @ [host]: [destino]

Por tanto, para transferir vía rsync en modo push, es decir, de una carpeta local a una carpeta remota, se utiliza:

  • la carpeta / home / usuarioejemplo

Por otro lado, para una máquina remota con usuario Linux usuarioejemplo y con el destino archivo / backup / home / usuarioejemplo, la dinámica proporciona la siguiente sintaxis:

  • rsync/home/usuarioejemplo [email protected][server_ovh.domain.tld:/backup/home/usuarioejemplo

Finalmente, lo contrario, es decir, rsync en modo pull, desde la carpeta remota para la carpeta local:

  • rsync: [email protected][server_ovh.domain.tld:/backup/home/usuarioejemplo/home/usuarioejemplo

Por tanto, es una sintaxis muy cercana a SCP (copia de seguridad)

Opciones del comando rsync

Opciones del comando rsync

 

Características más comunes de Rsync

1- Copia y transfiere archivos de forma recursiva

  • Para copiar una carpeta recursiva, utilizamos la opción -r:
    rsync -r dir1/dir2

2- Actualizar el contenido de una carpeta

Para ahorrar tiempo y ancho de banda, podemos evitar la copia de archivos que ya tenemos en la carpeta de destino y que no se han modificado en la carpeta de origen. Para hacer esto, podemos agregar el parámetro -u a rsync para sincronizar la carpeta de destino con la carpeta de origen.

  • rsync -rtvu source_rep/ destination_rep/

De forma predeterminada, rsync se basa en la fecha de modificación del archivo. Sin embargo, con el parámetro -c, podemos pedirle que utilice una suma de comprobación en los archivos que se van a transferir. Como resultado, esto ignora cualquier archivo donde la suma de comprobación coincidan entre sí.

  • rsync -rtvuc source_rep/ destination_rep/

3- Sincronizar dos carpetas con rsync

A continuación se explica cómo sincronizar dos carpetas en un servidor remoto:

a) –delete-before: busca archivos perdidos y los elimina antes de continuar con la transferencia. Este es el comportamiento predeterminado.
b) –delete-after: busca archivos perdidos después de que se complete la transferencia con el parámetro.
c) –delete-during: puede eliminar archivos creados durante la transferencia; cuando falta un archivo, se elimina en ese momento.
d) –delete-delay: realiza la transferencia y encuentra los archivos faltantes durante este proceso, pero en lugar de eliminarlos, espera hasta que finalice el procedimiento y elimina los archivos encontrados posteriormente.

4- Excluir archivos de transferencia y sincronización

Usamos –exclude = para excluir archivos de la copia y transferencia remota, como se indica en la tabla anterior. Si necesitas eliminar varias carpetas, solo enumera una después del comando.

Esto puede volverse ilegible rápidamente, por lo que en este caso, usamos –exclude-from, que le permite llamar a un archivo con la lista de exclusión y compartir la lista entre máquinas.

5 – Límite de ancho de banda

La opción -bwlimit le permite al ancho de banda. El valor se considera en unidades de 1024 bytes.

También puedes usar:

6 – Rsync y SSH

Con rsync, es posible utilizar SSH (Secure Shell) para la transferencia de datos con el protocolo SSH. Puedes estar seguro de que tus datos se transfieren a través de una conexión segura mediante una encriptación protegida.

Además, al usar rsync, necesitamos proporcionar la contraseña para que el usuario/root realice esta tarea específica, por lo que usar la opción SSH enviará sus conexiones encriptadas para que tu contraseña esté segura.

Por último, si has generado un par de claves SSH, puede autenticarse utilizándose sin contraseña. Para hacer esto, usamos el parámetro -e ssh:

Consideraciones finales

El nombre rsync se refiere a un protocolo de red dedicado a la sincronización de archivos, creado en 1996. Rsync es originalmente un protocolo de sincronización de archivos en Linux. A medida que se desarrolló la tecnología, aparecieron otras versiones, como Windows, AIX y HPUX para dar soporte.

La ventaja de esta herramienta de sincronización para rsync es que la operación se realiza bajo la línea de comando completa: hay un archivo de registro detallado, pero también puede admitir una variedad de circunstancias diferentes a la actualización, como actualizaciones de tipo de backup, etc.

Otra ventaja muy buena es que él y el servidor se pueden sincronizar entre sí, es decir, puedes actualizar el archivo del servidor o enviar archivos locales al servidor. Siempre que configures los parámetros correctamente, puedes hacer varias cosas. Esta herramienta también consume una cantidad relativamente pequeña de recursos del sistema.

Por otro lado, las desventajas aparecen, principalmente cuando hay muchos archivos pesados. Una de las partes más lentas de rsync es que cuando se sincroniza, los archivos en el directorio local se comparan con los archivos en el servidor, de modo que actualiza solo los diferentes archivos allí. Los mismos archivos se omiten directamente. Si hay muchos archivos para sincronizar, este proceso de comparación es muy lento.

Entre los escenarios operativos típicos de rsync, además de realizar backup de datos y generar un “servidor espejo” (una copia exacta del servidor), es posible sincronizar los datos de la empresa con diferentes sitios. Hoy en día, esta última función es cada vez más compatible con las tecnologías modernas en la nube, hasta porque es raro no tener una conexión de datos estable.

Creación de backups rsync en servidores Linux

Para ejecutar rsync en sistemas operativos Linux, instala el protocolo en el paquete del mismo nombre y crea tu backup a través de rsync usando comandos de terminal. Otra posibilidad es utilizar aplicaciones como Back-in-Time, rsnapshot (para backups automáticos o periódicos) o Unison, que permiten la gestión del proceso de backup en una interfaz gráfica.

NOTA: se recomienda realizar pruebas (-n) para comprobar la precisión de los parámetros y directorios. En algunos casos, el uso de datos incorrectos puede provocar la pérdida de datos. Generalmente, cualquier error en la copia de determinados archivos durante el proceso se debe a la falta de derechos de accesos necesarios. En ese caso, intenta ejecutar el comando como administrador.

¡Esperamos que este artículo te ayude! Aprovecha la oportunidad para consultar sobre otro contenido de Linux en nuestro Blog. ¡También hablamos de negocios, marketing y más!


Comentarios
Presiona Enter para buscar o ESC para cerrar