Cómo usar rsync en Ubuntu: Guía completa para sincronizar y respaldar archivos

目次

1. Introducción

¿Qué es rsync?

rsync es una herramienta de línea de comandos diseñada para sincronizar y copiar archivos o directorios de forma rápida y eficiente. Es ampliamente utilizada en sistemas Linux y Unix, y gracias a su mecanismo de transferencia de solo diferencias, permite sincronizar grandes volúmenes de archivos sin desperdicio. En distribuciones como Ubuntu suele venir instalada por defecto, lo que la convierte en un recurso esencial para administradores de servidores y desarrolladores.

Ventajas de usar rsync en Ubuntu

En Ubuntu, rsync resulta sumamente eficaz para copias de seguridad diarias y sincronización de múltiples directorios. Sin necesidad de interfaces gráficas, basta con ejecutar unos pocos comandos en la terminal para lograr transferencias rápidas de archivos, tanto localmente como de manera remota.

Se utiliza especialmente en casos como los siguientes:

  • Copias de seguridad periódicas en discos externos o NAS
  • Sincronización de carpetas de proyectos en desarrollo
  • Despliegue en servidores remotos
  • Mejora de la disponibilidad mediante espejado de archivos

Diferencias con otros comandos

A diferencia del comando cp, rsync transfiere únicamente las diferencias entre el origen y el destino, reduciendo drásticamente el tiempo de procesamiento. Frente a scp, rsync destaca por su capacidad de reanudar en caso de error, su flexibilidad en la limitación del ancho de banda y la posibilidad de conservar atributos de los archivos (propietario, permisos, marcas de tiempo, etc.).

Objetivo de este artículo

En este artículo explicaremos en detalle cómo instalar y utilizar rsync en un entorno Ubuntu, con ejemplos de comandos y casos prácticos. También abordaremos herramientas gráficas y soluciones a problemas comunes, de modo que incluso principiantes puedan dominar rsync de forma progresiva.

侍エンジニア塾

2. Cómo instalar rsync en Ubuntu

Comprobar si rsync ya está instalado en Ubuntu

En muchos sistemas Ubuntu, rsync suele venir instalado por defecto. Para verificarlo, ejecuta el siguiente comando:

rsync --version

Si aparece información de versión, rsync ya está disponible y listo para usarse.

Instalación de rsync si no está disponible

Si recibes mensajes como “comando no encontrado” o “rsync: command not found”, sigue estos pasos:

  1. Actualizar la información de los paquetes:
sudo apt update
  1. Instalar rsync:
sudo apt install rsync
  1. Comprobar la versión tras la instalación:
rsync --version

Si el comando devuelve la versión, la instalación ha sido exitosa.

¿Es necesario instalarlo con snap u otros métodos?

En Ubuntu, la instalación de rsync mediante APT es la más recomendada. Aunque existe un paquete en snap, la versión de APT es suficiente para la mayoría de los casos y suele ofrecer mayor estabilidad y compatibilidad. A menos que tengas necesidades especiales, utiliza APT.

Aspectos a tener en cuenta durante la instalación

  • En versiones antiguas de Ubuntu puede ser necesario actualizar los repositorios.
  • Requiere permisos de superusuario, no olvides anteponer sudo.
  • Si tu conexión de red es inestable, la instalación podría fallar; lo ideal es ejecutarla con una conexión fiable.

3. Uso básico de rsync

Sintaxis básica de rsync

La sintaxis de rsync es sencilla y flexible. La forma general es:

rsync [opciones] origen destino

Por ejemplo, para copiar el contenido del directorio /home/user/documents/ a /mnt/backup/, se utiliza:

rsync -av /home/user/documents/ /mnt/backup/

En este ejemplo se emplean las siguientes opciones:

  • -a: modo archivo (mantiene estructura, permisos, propietarios, etc.)
  • -v: salida detallada (muestra qué archivos se copian)

Atención a la barra final en directorios

En rsync, la presencia o ausencia de la barra final en la ruta de origen cambia el comportamiento:

  • /home/user/documents/ (con barra)
    → Solo se copian los contenidos (ejemplo: file1.txt, file2.txt)
  • /home/user/documents (sin barra)
    → Se copia toda la carpeta documents (ejemplo: /mnt/backup/documents/file1.txt)

Esta diferencia es clave al usar rsync. Ajusta según el caso.

Lista de opciones más usadas

rsync incluye numerosas opciones, pero las más utilizadas en escenarios comunes son:

OpciónDescripción
-aModo archivo (recursivo y mantiene atributos)
-vMuestra detalles de los archivos transferidos
-nSimula la ejecución sin realizar cambios (dry run)
--progressMuestra el progreso de la copia
--deleteElimina en el destino los archivos que no existen en el origen

Verificar antes de ejecutar

Si quieres comprobar qué ocurrirá antes de ejecutar realmente la transferencia, utiliza las opciones -n o --dry-run:

rsync -av --dry-run /home/user/documents/ /mnt/backup/

De esta manera podrás confirmar el resultado previsto y evitar errores.

Manejo de archivos ocultos

rsync incluye por defecto los archivos ocultos que comienzan con un punto (.). Esto resulta útil para copiar configuraciones y archivos de entorno junto con los demás datos.

4. Sincronización con servidores remotos

Sincronización remota con SSH

Una de las mayores ventajas de rsync es su capacidad de sincronizar archivos con servidores remotos a través de SSH. Esto permite transferir datos de manera segura a través de la red.

La sintaxis básica es:

rsync -avz origen usuario@IP-o-host-remoto:destino

Ejemplo: sincronizar /home/user/documents/ con /var/www/backup/ en un servidor remoto:

rsync -avz /home/user/documents/ user@example.com:/var/www/backup/
  • La opción -z comprime los datos, lo cual resulta útil en conexiones lentas.
  • usuario@host debe coincidir con el usuario y host del servidor remoto.

Primera conexión y autenticación con claves

En la primera conexión, rsync puede solicitar la verificación del host. Si confías en el destino, responde “yes”.

Para evitar introducir la contraseña en cada ejecución, lo recomendable es configurar autenticación con claves SSH:

  1. Generar una clave SSH en local (si no existe):
ssh-keygen -t rsa
  1. Copiar la clave al servidor remoto:
ssh-copy-id user@example.com

A partir de entonces podrás ejecutar rsync sin contraseña.

Especificar número de puerto

Si el servidor remoto utiliza un puerto SSH diferente de 22, indícalo con la opción -e:

rsync -avz -e "ssh -p 2222" /home/user/documents/ user@example.com:/var/www/backup/

Atención con la sincronización bidireccional

rsync solo realiza sincronización unidireccional, es decir, de origen a destino. Si necesitas sincronización bidireccional, deberás usar otras herramientas como unison.

5. Opciones avanzadas y ejemplos útiles

Opciones prácticas más allá de lo básico

Además de las funciones básicas, rsync dispone de opciones que facilitan la administración en casos más complejos:

–delete: elimina archivos ausentes en el origen

Permite crear un espejo exacto del origen eliminando en el destino los archivos que ya no existen.

rsync -av --delete /home/user/source/ /mnt/backup/

⚠️ Úsalo con precaución. Verifica primero con --dry-run.

–exclude: excluir archivos o directorios

Sirve para omitir determinados archivos o carpetas:

rsync -av --exclude '*.log' --exclude 'node_modules' /project/ /backup/

–bwlimit: limitar ancho de banda

Para evitar saturar la red, puedes limitar la velocidad de transferencia:

rsync -av --bwlimit=5000 /data/ user@remote:/data/

(Ejemplo: máximo 5 MB/s)

Casos prácticos

Copias de seguridad

Un ejemplo común es la copia de seguridad diaria en un disco externo:

rsync -a --delete /home/user/ /media/usb/backup/

Automatización con cron

Puedes programar la ejecución automática con cron. Ejemplo: ejecutar todos los días a las 2:00 AM:

0 2 * * * rsync -a /home/user/ /mnt/backup/ >> /var/log/rsync.log 2>&1

Esto permite respaldos periódicos sin intervención manual.

6. Introducción a la herramienta gráfica “Grsync”

Recomendado para quienes no dominan la línea de comandos

Aunque rsync es una herramienta muy potente, su uso requiere introducir comandos en la terminal. Para usuarios principiantes en Linux o quienes prefieren un enfoque visual, esto puede resultar complicado.

En esos casos es útil Grsync, una aplicación con interfaz gráfica que utiliza rsync en segundo plano y permite configurar y ejecutar tareas de manera más sencilla.

Cómo instalar Grsync en Ubuntu

En Ubuntu, Grsync puede instalarse fácilmente con APT:

sudo apt update
sudo apt install grsync

Tras la instalación, aparecerá en la lista de aplicaciones como “Grsync” y podrás iniciarlo con un clic.

Uso básico de Grsync

La interfaz de Grsync es intuitiva y permite configurar opciones como:

  • Ruta de origen y destino
  • Cajas de verificación para opciones principales de rsync como “copia recursiva”, “mantener atributos” o “eliminar archivos”
  • Definición de patrones a excluir
  • Ejecución en modo simulación (dry run)

Después de configurar, basta con pulsar el botón “Ejecutar” y Grsync realizará la sincronización utilizando rsync en segundo plano.

Perfiles para tareas recurrentes

Grsync permite guardar configuraciones como “perfiles”, lo que facilita gestionar varios escenarios de sincronización.

Ejemplos de perfiles:

  • Perfil 1: copia en memoria USB
  • Perfil 2: sincronización con NAS
  • Perfil 3: replicación en servidor externo

Ventajas y desventajas de Grsync

VentajasDesventajas
No requiere comandos, interfaz intuitivaNo todas las opciones avanzadas están disponibles en la GUI
Permite entender mejor las opciones antes de aplicarlasLa visualización del proceso es más limitada que en terminal
Fácil de usar de forma segura (ej. simulación con un clic)Menos flexible que la línea de comandos en casos avanzados

7. Problemas frecuentes y soluciones

Los permisos no se mantienen

Síntoma: los permisos o el propietario cambian en el destino.
Causa: ejecución sin permisos adecuados o sin la opción -a.
Solución:

  • Usar la opción -a explícitamente.
  • Ejecutar con sudo si es necesario.
sudo rsync -a /source/ /destination/

Problemas con enlaces simbólicos

Síntoma: los enlaces no se copian correctamente.
Causa: comportamiento por defecto u opciones no aplicadas.
Solución:

  • Para copiarlos tal cual: usar -a.
  • Para copiar el archivo real: añadir --copy-links.

Error “Permission denied”

Síntoma: aparece el mensaje “Permission denied” al sincronizar.
Causa: falta de permisos en los archivos o carpetas.
Solución:

  • Ejecutar con sudo.
  • Revisar los permisos de acceso de los directorios afectados.
sudo rsync -a /source/ /destination/

Error “rsync: connection unexpectedly closed” (al usar remoto)

Síntoma: la conexión con el servidor remoto se cierra de manera inesperada.
Causa: problemas de SSH, rutas incorrectas o permisos.
Solución:

  • Probar la conexión SSH manualmente con ssh user@host.
  • Verificar la ruta de destino.
  • Comprobar firewall y puertos.

Error “Argument list too long”

Síntoma: error al sincronizar directorios con demasiados archivos.
Causa: límite de longitud en argumentos del sistema.
Solución:

  • Usar --exclude o --include para reducir la cantidad de archivos.
  • Dividir el proceso en varios subdirectorios.

8. FAQ (Preguntas frecuentes)

A continuación se responden dudas comunes de usuarios al usar rsync en Ubuntu:

Q1. ¿Cómo conservar permisos y propietarios al copiar?

A1. Utiliza la opción -a (modo archivo) para mantener permisos, marcas de tiempo, propietario y grupo.

rsync -a /etc/ /backup/etc/

Q2. ¿Cómo excluir archivos o carpetas específicos?

A2. Usa la opción --exclude indicando patrones o directorios:

rsync -av --exclude '*.log' /project/ /backup/project/

Q3. ¿Cómo limitar el ancho de banda?

A3. Con --bwlimit, donde la unidad es KB/s:

rsync -av --bwlimit=5000 /data/ user@remote:/data/

Q4. ¿Cómo verificar lo que ocurrirá antes de ejecutar?

A4. Con --dry-run o -n, que simulan el proceso sin copiar archivos.

rsync -av --dry-run /source/ /destination/

Q5. ¿Se copian los archivos ocultos?

A5. Sí, rsync incluye por defecto archivos ocultos (los que empiezan con .). Para excluirlos, añade una regla como --exclude '.*'.

Q6. ¿Cuál es la diferencia entre rsync y scp?

A6. scp transfiere todos los archivos en cada ejecución, mientras que rsync copia solo las diferencias, lo que lo hace más eficiente para copias de seguridad e incluso permite reanudar transferencias interrumpidas.

9. Conclusión

En este artículo hemos cubierto desde la instalación y uso básico de rsync en Ubuntu, hasta la sincronización remota, opciones avanzadas, uso de Grsync, resolución de problemas frecuentes y preguntas comunes.

Resumen de las ventajas de rsync

  • Transferencia rápida mediante copia de diferencias.
  • Conserva permisos y propietarios en copias y respaldos.
  • Soporte para sincronización remota con SSH.
  • Opciones avanzadas como exclusiones y limitación de ancho de banda.
  • Automatización con cron para respaldos periódicos.
  • Interfaz gráfica Grsync para principiantes.

rsync: una herramienta imprescindible para usuarios de Linux

En entornos Linux como Ubuntu, rsync es un recurso esencial para gestionar archivos, copias de seguridad y sincronización. Con lo aprendido aquí, podrás utilizarlo de forma segura y eficiente.

Aunque su sintaxis es sencilla, rsync ofrece capacidades de nivel profesional. Empieza con las opciones básicas y añade las avanzadas según tus necesidades para adaptar su uso a tu entorno.

年収訴求