50% de descuento en todos los planes, por tiempo limitado. Desde $2.48/mo
Quedan 10 minutos
Seguridad y redes

Cómo usar Rsync en Linux: sincronización con servidor remoto 💻📥

Lily Carnell By Lily Carnell 10 min de lectura Actualizado el 16 de abril de 2023
rsync a un servidor remoto

Tanto si eres administrador como usuario habitual, es probable que necesites crear copias de seguridad periódicas de tus archivos o sincronizarlos entre varios sistemas. Si cada vez hay que sobreescribir todos los archivos, el proceso se vuelve lento y tedioso. Ahí es donde la herramienta Rsync de Linux para servidores remotos te saca del apuro. Esta guía te presenta los comandos Rsync más útiles para que puedas aprovechar su velocidad y sus transferencias seguras.

¿Qué es la utilidad Rsync?

Sincronización remota (Rsync) es un comando Linux/Unix muy conocido que permite copiar y sincronizar archivos y directorios tanto de forma local como a través de acceso remoto. Con el comando Rsync puedes realizar diversas tareas con tus datos: sincronización, copia y creación de copias de seguridad. Además, puedes replicar tu sistema Linux en otro.

La principal ventaja de usar Rsync con un servidor remoto es la velocidad de transferencia de archivos. Para mover datos entre dos fuentes, solo tiene en cuenta las diferencias entre ellas. Dicho de otro modo, el comando Rsync evita transferencias innecesarias de datos al trabajar únicamente con las diferencias entre los dos sistemas Linux.

¿Por qué usar Rsync?

Como ya sabes, existen distintas herramientas de copia de seguridad disponibles. La pregunta es: ¿qué hace que Rsync sea diferente frente a otras utilidades o comandos?

Por ejemplo, puedes usar Protocolo de transferencia de archivos (FTP) para tener una copia local de tu sitio web, o Protocolo de Copia Segura (SCP) para esta tarea. Sin embargo, ambos tienen sus limitaciones. FTP no incluye cifrado de datos, lo cual no es lo ideal, y aunque SCP no tiene ese problema de transferencia sin cifrar como FTP, sí tarda más en transferir archivos porque establece un túnel para hacerlo.

Por tanto, como solución alternativa a estos problemas, podemos usar Rsync hacia un servidor remoto con cifrado basado en claves (conocido simplemente como Rsync SSH o Rsync sobre SSH), lo que evita el envío de datos duplicados y utiliza una clave SSH. Cabe destacar también que Rsync aplica compresión y descompresión al enviar y recibir datos, lo que reduce el consumo de ancho de banda.

¿Cómo instalar Rsync?

Es probable que ya tengas Rsync instalado en tu sistema; aun así, veamos los detalles. Antes de continuar, ten en cuenta que SSH debe estar instalado tanto en el sistema de origen como en el de destino, ya que vamos a usar Rsync sobre SSH.

Paso 1: Comprobar la versión de SSH

Puedes comprobar la versión de SSH con el siguiente comando:

ssh -V

Para usar Rsync con un servidor remoto, necesitas un servidor local (el origen) y el servidor remoto. Asegúrate también de que el servidor local tenga privilegios administrativos (sudo).

Paso 2: Instalar Rsync en Linux

El siguiente comando te permite instalar Rsync en Ubuntu, Linux Mint y Debian:

sudo apt install rsync -y

Si usas otras distribuciones de Linux, como Fedora, CentOS, AlmaLinux y Red Hat, ejecuta el siguiente comando para instalar el servicio Rsync en tu sistema:

sudo dnf install rsync

Nota: apt es una herramienta de instalación de paquetes disponible en las distribuciones basadas en Debian.

Paso 3: Iniciar Rsync

Ahora debes iniciar y habilitar Rsync para empezar a usarlo. Ejecuta los siguientes comandos:

sudo systemctl start rsync 
sudo systemctl enable rsync

Paso 4: Verificar la instalación de Rsync

Ejecuta el siguiente comando para confirmar que Rsync se ha instalado correctamente y comprobar qué versión tienes en tu sistema Linux:

rsync --version

En la siguiente sección, veremos cómo aprovechar esta herramienta para realizar copias de seguridad mediante autenticación basada en claves.

¿Cómo crear copias de seguridad con Rsync sobre SSH?

Realizar copias de seguridad incrementales es uno de los casos de uso de Rsync sobre SSH. Presta atención al siguiente comando para entender cómo funciona:

rsync -av -e ssh /sourceDir/ user@remote:/path/to/destinationDir

Ejecutar el comando anterior sincronizará sourceDir y destinationDir. Este comando incluye otras opciones que conviene conocer, como -a (archive) y -v (verbose). Ten en cuenta que -e ssh esta opción requiere que la conexión Rsync se realice a través del protocolo SSH.

Si deseas que la conexión SSH sea aceptada en un puerto distinto al predeterminado (puerto 22), debes indicar el número de puerto después de -e ssh. Consulta el siguiente comando para entender cómo funciona.

rsync -av -e ssh 1998 sourceDir/ user@remote:/path/to/destinationDir

En el comando anterior, asumimos que queremos usar el puerto 1998 para SSH en lugar del 22.

Rsync hacia un servidor remoto a través de SSH cuenta con otras opciones que pueden resultar muy útiles. Por ejemplo, la opción –partial te permite reanudar una transferencia parcial anterior en caso de problemas como una interrupción de Rsync. También puedes conocer el progreso actual de la transferencia de archivos mediante la opción –progress . Además, la utilidad Rsync para servidor remoto Linux te permite usar estas dos funciones al mismo tiempo. Para ello, puedes usar el -p indicador en la línea de comandos.

rsync -avP  -e ssh /sourceDir/ user@remote:/path/to/destinationDir

El comando Rsync hacia un servidor remoto con clave permite comprimir los datos antes de transferirlos al destino. Aunque utilizará tu CPU para completar la compresión, sigue siendo muy útil porque acelera la transferencia de archivos y reduce el consumo de ancho de banda.

Puedes usar el comando Rsync para copiar archivos y directorios, tanto remotos como locales. La principal ventaja de Rsync es que se basa en el algoritmo de transferencia delta, que evita copiar datos duplicados del origen al destino. Como se mencionó antes, esta característica de la utilidad Rsync para servidor remoto es especialmente útil si necesitas gestionar copias de seguridad diarias y réplicas del sistema. Con esto en mente, veamos cómo usar el comando Rsync en casos de uso local.

¿Cómo usar Rsync para sincronización local?

Antes de profundizar en la sincronización local y cómo usar el comando Rsync para ello, conviene conocer la estructura general de Rsync en local, que se muestra a continuación:

rsync [options] [Source] [Destination]

Copiar archivos localmente

Supongamos que queremos sincronizar o copiar un archivo desde el directorio del escritorio (llamado Cloudzy) a la carpeta /home/Public ; esto es lo que debes introducir:

rsync -zvh /desktop/Cloudzy/myfile.pdf /home/Public

El comando Rsync anterior incluye tres opciones: -zvh; usando -z, el archivo se comprimirá durante la transferencia. opción v activa la salida detallada, y la opción h permite leer los resultados de forma comprensible, es decir, muestra la salida en formato legible para humanos.

Copiar directorios de forma local

Si queremos copiar el directorio del escritorio (llamado Cloudzy) a la carpeta /home/Public carpeta, escribe el siguiente comando:

rsync -zavh /desktop/Cloudzy/myfile.pdf /home/Public

El -a esta opción archiva directorios y archivos durante la sincronización.

Puedes revisar rápidamente el listado de directorios en la carpeta de destino para verificar si el directorio se copió correctamente. Para ello, usa el siguiente comando:

ls -ld /home/Public

Sincronizar archivos y directorios de forma recursiva en local (Rsync recursivo)

¿Y si hubiera varios directorios y archivos en /desktop/Cloudzy, y quisieras copiarlos de forma recursiva mediante el comando Linux de Rsync?

En este caso, usa la opción -r para sincronizar de forma recursiva tus archivos y directorios locales. También puedes usar la opción de archivo (-a) ya que admite otros usos, como la copia recursiva. Consulta el siguiente comando para familiarizarte con los comandos recursivos de Rsync.

rsync -zrvh /desktop/Cloudzy /home/Public

Or

rsync -zrvh /desktop/Cloudzy /home/Public

Copiar directorios y archivos del sistema local al remoto

Además de las características de Rsync para conectarse a servidores remotos que mencionamos en secciones anteriores, este conocido comando también permite sincronizar archivos y directorios desde la máquina local hacia el sistema remoto.

Supongamos que queremos copiar una carpeta (/desktop/Cloudzy/nuevacarpeta) desde la máquina local hacia el sistema remoto (con 192.168.1.79) en /mycpt; aquí hay un ejemplo que muestra cómo funciona:

rsync -zarvh /desktop/Cloudzy/newfolder [email protected]:/mycpt

¿Cómo copiar directorios sin sus archivos usando Rsync?

En algunos casos, puede que queramos usar las capacidades de Linux Rsync para copiar directorios sin archivos hacia un servidor remoto; esta sincronización puede realizarse desde la máquina remota al sistema local o al revés.

En este artículo, hemos utilizado el sistema remoto en 192.168.1.79. Supongamos que lo tenemos en /mycpt carpeta y queremos copiar el directorio /desktop/Cloudzy desde el sistema local sin incluir sus archivos. Introduce el siguiente comando para hacerlo:

rsync -av -f"+ */" -f"- *" /desktop/Cloudzy [email protected]:/mycpt/

Otros comandos útiles de Rsync

A continuación veremos algunos comandos adicionales de Linux Rsync que pueden resultarte útiles.

Establecer el tamaño máximo de archivo en transferencias con Rsync

Puedes establecer un límite de tamaño para las transferencias de archivos usando el comando Rsync. Esto resulta útil cuando ejecutas Rsync con frecuencia hacia un servidor remoto o una máquina local, donde el ancho de banda y el tiempo son factores clave. Fíjate en el siguiente comando para ver cómo configurar límites de tamaño en las transferencias de Rsync:

rsync -avzhe ssh --max-size='100k' /desktop/Cloudzy [email protected]:/home/Public

Establecer el tamaño mínimo de archivo en transferencias con Rsync

Al igual que se puede fijar un tamaño máximo, también puedes establecer el tamaño mínimo del archivo que quieres transferir con Rsync al servidor remoto. En el siguiente comando, fijaremos el tamaño mínimo en 10k:

rsync -avzhe ssh --min-size='10k' /desktop/Cloudzy [email protected]:/home/Public

Eliminar archivos del origen tras completar la sincronización

Una vez que hayas terminado con el comando Rsync, puede que ya no necesites conservar los archivos en el sistema de origen. En ese caso, puedes usar el comando Linux Rsync como se muestra a continuación para eliminarlos del origen:

rsync --remove-source-files -zvh /desktop/Cloudzy [email protected]:/home/Public

Simulación en seco

Si eres nuevo en la herramienta Linux Rsync y no estás familiarizado con sus opciones, una simulación en seco es la forma más segura de empezar. Al usar esta opción con Rsync, no se modificará ningún archivo, pero sí se mostrará la salida del comando. Una vez que estés seguro de querer ejecutarlo, puedes eliminar la opción –ejecución-en-seco y ejecutarlo en el terminal. Consulta el siguiente comando para saber más sobre esta funcionalidad.

rsync --dry-run --remove-source-files -zvh /desktop/Cloudzy [email protected]:/home/Public

Resumen: uso de los comandos Linux Rsync

Este artículo explicó cómo usar las capacidades de Linux Rsync hacia servidores remotos (y hacia servidores locales) para distintos casos de uso, entre ellos reflejo del sistema, creando una copia de seguridad de archivos, y copiando archivos y directorios de forma local y remota mediante un método eficiente. Este conocido comando Linux te permite transferir archivos rápidamente, con soporte para SSH y compresión de datos.

Hosting VPS Linux

Consigue un VPS Linux económico o premium para alojar tu sitio web o escritorio remoto, al precio más competitivo del mercado. VPS sobre Linux KVM para mayor eficiencia, con hardware potente y almacenamiento NVMe SSD para mayor velocidad.

Leer más

Puedes sacar el máximo partido a este sistema operativo contratando una Linux VPS solución de Cloudzy, con planes de hosting basados en KVM. Ofrecemos servicios VPS de alto rendimiento con un uptime del 99,95%, estabilidad, latencia mínima, centros de datos en todo el mundo (12 ubicaciones), almacenamiento SSD ultrarrápido y soporte técnico 24/7. Puedes empezar a usar tu VPS Linux desde 4,95 $ y escalar cuando necesites una solución más avanzada.

Preguntas frecuentes

¿Qué puerto TCP utiliza Rsync?

SSH utiliza por defecto el puerto 22. Por tanto, al usar rsync sobre SSH, operará en ese puerto. En cambio, cuando se emplea el demonio de Rsync, se utiliza el puerto 873.

¿Qué es Rsync?

Rsync es una utilidad Linux que permite sincronizar archivos y directorios, tanto de forma local como remota. Con el comando Rsync puedes realizar diversas tareas relacionadas con datos: sincronización, copia y creación de copias de seguridad.

Compartir

Más del blog

Sigue leyendo.

Imagen de portada de una guía Cloudzy sobre VPN L2TP con MikroTik, que muestra un portátil conectándose a un rack de servidores a través de un túnel digital azul y dorado con iconos de escudo.
Seguridad y redes

Configuración de MikroTik L2TP VPN (con IPsec): guía para RouterOS (2026)

En esta configuración de MikroTik L2TP VPN, L2TP gestiona el túnel mientras IPsec se encarga del cifrado y la integridad. Combinarlos te da compatibilidad nativa con los clientes sin depender de software de terceros.

Rexa CyrusRexa Cyrus 9 min de lectura
Ventana de terminal con el mensaje de advertencia de SSH sobre un cambio en la identificación del host remoto, con el título de la guía de solución y la imagen de marca Cloudzy sobre fondo verde azulado oscuro.
Seguridad y redes

Advertencia: la identificación del host remoto ha cambiado. Cómo solucionarlo

SSH es un protocolo de red seguro que crea un túnel cifrado entre sistemas. Sigue siendo muy utilizado por desarrolladores que necesitan acceso remoto a equipos sin requerir una interfaz grá

Rexa CyrusRexa Cyrus 10 min de lectura
Ilustración de la guía de resolución de problemas del servidor DNS con símbolos de advertencia y un servidor azul sobre fondo oscuro, para errores de resolución de nombres de Linux
Seguridad y redes

Error temporal en la resolución de nombres: qué significa y cómo solucionarlo

Al usar Linux, es posible que te encuentres con un error de resolución de nombres temporal al intentar acceder a sitios web, actualizar paquetes o ejecutar tareas que requieren conexión a internet.

Rexa CyrusRexa Cyrus 12 min de lectura

¿Listo para desplegar? Desde 2,48 $/mes.

Cloud independiente, desde 2008. AMD EPYC, NVMe, 40 Gbps. 14 días de garantía de devolución.