tallermac

macOS, automatización y oficio · 208 artículos

Terminal 10 de junio de 2024 Por Francisco Sierra Cuerva 6 min de lectura

rsync en Mac, tutorial de copia de seguridad por Terminal (con ejemplos)

Tutorial de rsync en Mac para copias de seguridad: sintaxis esencial (-av, --delete, --dry-run, --exclude), copia a disco externo, sincronización por SSH y un script listo para usar.

Detailed view of programming code in a dark theme on a computer screen.
Foto de Stanislav Kondratiev en Pexels

Transparencia: este artículo contiene enlaces de afiliado de Amazon, señalados uno a uno. Si compras a través de ellos obtengo una pequeña comisión sin ningún coste adicional para ti, y eso ayuda a mantener el blog. Recomiendo por criterio técnico, no por comisión: cuando algo no me convence, lo digo.

La semana pasada un colega perdió dos años de fotos por fiarse de «arrastrar la carpeta al disco externo de vez en cuando». Con rsync en el Mac, una copia de seguridad desde Terminal se reduce a un comando que copia solo lo que ha cambiado, avisa antes de borrar nada y puede automatizarse en cinco minutos. En este tutorial de rsync para Mac verás la sintaxis esencial, cómo copiar una carpeta a un disco externo, cómo sincronizar con un servidor por SSH y un script comentado listo para adaptar.

La versión corta: rsync -av --dry-run /origen/ /destino/ te muestra qué haría la copia sin tocar nada; quitando --dry-run la ejecuta. Ese es el 90 % del trabajo diario con rsync.

Qué rsync tienes en macOS 26 Tahoe (ojo con esto)

Antes de escribir una sola línea, conviene saber qué hay detrás del comando. Durante casi veinte años macOS incluyó rsync 2.6.9, una versión de 2006 que Apple no actualizó porque las ramas 3.x pasaron a licencia GPLv3. Desde macOS 15.4, Apple sustituyó ese binario por openrsync, la reimplementación del proyecto OpenBSD con licencia ISC, como documentó Der Flounder y explicó AppleInsider. Es compatible a nivel de protocolo, pero acepta solo un subconjunto de las opciones clásicas, como indica su página de manual.

¿Consecuencia práctica? Para copias locales básicas te sirve lo que trae el sistema, pero si vas a usar opciones avanzadas o quieres el rsync «de verdad», instala la rama 3.x con Homebrew:

brew install rsync
rsync --version   # debería mostrar rsync 3.x

El binario de Homebrew queda en /opt/homebrew/bin/rsync y tiene prioridad sobre el del sistema. Si no tienes Homebrew, empieza por la guía de Terminal y Homebrew en macOS.

Sintaxis esencial de rsync: las opciones que usarás siempre

rsync tiene decenas de flags, pero con cinco cubres el día a día:

OpciónQué hace
-a (archive)Modo recursivo conservando permisos, fechas, enlaces simbólicos y propietario.
-v / -hModo verborrágico y tamaños legibles (MB, GB). Con --progress ves el avance.
--dry-run (-n)Simulacro: muestra qué copiaría o borraría sin hacerlo. Úsalo siempre la primera vez.
--deleteBorra en el destino lo que ya no existe en el origen (espejo exacto). Peligroso sin --dry-run.
--excludeOmite patrones: --exclude '.DS_Store', --exclude 'node_modules/'.

Y un detalle que causa el 80 % de los sustos con rsync: la barra final del origen importa. rsync -av /Fotos/ /Backup/ copia el contenido de Fotos dentro de Backup; rsync -av /Fotos /Backup/ crea /Backup/Fotos. Memorízalo o te encontrarás carpetas duplicadas.

Cómo hacer una copia de seguridad con rsync a un disco externo

Escenario típico: copiar tu carpeta de documentos a un SSD externo montado en /Volumes/Backup. Si buscas uno, tenemos una guía de SSD externos para Mac. El comando, primero en seco:

Samsung T7 Shield · SSD externo de 1 TB

Samsung T7 Shield · SSD externo de 1 TB

El disco de Time Machine que no se oye ni se calienta; copias rápidas de verdad.

Ver precio en AmazonEnlace de afiliado

rsync -avh --progress --dry-run \
  --exclude '.DS_Store' \
  ~/Documentos/ /Volumes/Backup/Documentos/

Revisa la salida: rsync lista cada archivo que copiaría. Si todo cuadra, repite sin --dry-run. La primera pasada copia todo; las siguientes solo transfieren lo modificado, porque rsync compara tamaño y fecha (y con -c, checksums, aunque es mucho más lento).

Para que el destino sea un espejo fiel, añade --delete… pero pasa siempre primero por el simulacro. Un --delete con origen y destino intercambiados vacía tu carpeta original sin preguntar. Una variante más segura es --delete --backup --backup-dir=/Volumes/Backup/eliminados/$(date +%F), que aparta lo borrado en vez de destruirlo.

Sincronizar con un servidor remoto por SSH

rsync habla SSH de forma nativa: basta la sintaxis usuario@servidor:ruta. Por ejemplo, para subir tu web estática a un VPS:

rsync -avz --delete --dry-run \
  ~/Sites/miweb/ fran@ejemplo.com:/var/www/miweb/

La -z comprime el tráfico, útil en red (en local es innecesaria). Para descargar, invierte origen y destino. Si el servidor usa un puerto distinto o una clave concreta: -e "ssh -p 2222 -i ~/.ssh/id_ed25519". Y si aún no tienes el acceso por claves configurado, hazlo antes con la guía de SSH desde el Mac: rsync hereda toda esa configuración, incluidos los alias de ~/.ssh/config, así que puedes escribir rsync -av ~/datos/ mivps:backups/ tal cual.

rsync frente a Time Machine: cuándo usar cada uno

No compiten, se complementan:

  • Time Machine es automático, conserva historial de versiones y restaura el sistema entero. Es tu red de seguridad general y no requiere pensar.
  • rsync es quirúrgico: decides qué carpetas, a qué destino (incluidos servidores remotos y NAS, que Time Machine apenas soporta), con qué exclusiones, y el resultado son archivos normales que puedes leer desde cualquier sistema, no un contenedor propietario.

Mi recomendación: Time Machine para el Mac completo y rsync para proyectos, bibliotecas de fotos y todo lo que quieras replicar fuera de casa. Detallamos la primera parte en la guía de estrategia de copias con Time Machine.

Script de copia con rsync, comentado y listo para adaptar

Guarda esto como ~/bin/backup-rsync.sh y dale permisos con chmod +x:

#!/bin/bash
# Copia espejo de Documentos e Imágenes a un disco externo.
ORIGENES=("$HOME/Documentos/" "$HOME/Imágenes/")
DESTINO="/Volumes/Backup/mi-mac"
LOG="$HOME/Library/Logs/backup-rsync.log"

# Si el disco no está montado, salir sin hacer nada (evita copiar
# al punto de montaje vacío y llenar el disco interno).
if [ ! -d "$DESTINO" ]; then
  echo "$(date): destino no disponible" >> "$LOG"; exit 1
fi

for SRC in "${ORIGENES[@]}"; do
  NOMBRE=$(basename "$SRC")
  rsync -avh --delete \
    --exclude '.DS_Store' \
    --exclude 'node_modules/' \
    --log-file="$LOG" \
    "$SRC" "$DESTINO/$NOMBRE/"
done
echo "$(date): copia completada" >> "$LOG"

La comprobación inicial del destino es la línea más importante del script: sin ella, ejecutar la copia con el disco desconectado crea la carpeta en el disco interno y lo llena silenciosamente. Para lanzarlo de forma periódica, la vía nativa en macOS es launchd, que explicamos paso a paso en cron y launchd en el Mac.

Preguntas frecuentes

¿rsync viene instalado en macOS 26 Tahoe? Sí, pero desde macOS 15.4 el binario /usr/bin/rsync es openrsync, una reimplementación de OpenBSD compatible con el protocolo pero con menos opciones. Para la rama completa 3.x, instala brew install rsync.

¿Cómo hago una copia de seguridad con rsync sin riesgo de borrar archivos? Ejecuta primero el comando con --dry-run para ver exactamente qué copiaría y qué eliminaría, y añade --backup --backup-dir=… junto a --delete para apartar lo borrado en lugar de destruirlo.

¿Qué diferencia hay entre rsync y Time Machine? Time Machine guarda historial de versiones y restaura el sistema entero de forma automática; rsync copia carpetas concretas a cualquier destino (discos, NAS, servidores SSH) dejando archivos normales accesibles desde cualquier equipo.

¿Puedo automatizar rsync para que se ejecute solo? Sí: encapsula el comando en un script y prográmalo con launchd (o con un gestor de tareas). rsync es incremental, así que las ejecuciones diarias apenas tardan unos segundos si no ha cambiado gran cosa.

Con -av, --dry-run como hábito y el script anterior, tienes un sistema de copias incremental, transparente y bajo tu control. Empieza hoy por una sola carpeta; cuando veas lo rápida que es la segunda pasada, querrás rsync para todo.

Sigue leyendo

Sobre el autor

Soy Francisco Sierra Cuerva, desarrollador de software, maquero de larga recorrida y el autor de este taller. Escribo en español sobre macOS, automatización y las apps que merecen hueco en tu equipo, siempre con datos y fuentes sobre la mesa.

También soy el autor de SideList, una lista de tareas sencilla que vive en la barra de menús del Mac. Si te gusta lo que lees aquí, es la mejor muestra de cómo entiendo el software para macOS.

Equipo recomendado

Transparencia: los enlaces de esta sección son de afiliado. En calidad de Afiliado de Amazon, obtengo ingresos por las compras adscritas que cumplen los requisitos aplicables. A ti no te cuesta nada más y solo recomiendo lo que uso.

Comentarios (0)

Todavía no hay comentarios aprobados. Sé el primero.

Los comentarios se revisan antes de publicarse.