Comandos LinuxExplicados en español
/
Ficha14 / 104
Categoría
Archivos
Ejemplos
5
Ver también
scp · cp · mv · tar

rsync

remote sync (sincronización remota)

Sincroniza archivos y carpetas entre local y remoto, copiando solo lo que cambió.

Copia y sincroniza archivos y carpetas de forma eficiente: la segunda vez solo transfiere lo que cambió. Funciona en la misma máquina o entre equipos usando SSH. Lo usas para respaldos, para subir un proyecto a un servidor o para mantener dos carpetas iguales. Ubuntu lo trae instalado; en Debian quizá tengas que instalarlo con sudo apt install rsync.

Sintaxisrsync [opciones] ORIGEN DESTINO
Precaución

rsync puede borrar archivos en el destino si usas --delete. Siempre prueba con --dry-run primero. También ten cuidado con las barras al final de las rutas (carpeta/ vs carpeta).

§ 1

Despiece

5 ejemplos
Sincronizar carpeta local (solo copia lo nuevo)

Sincronizar carpeta local (solo copia lo nuevo)

4 piezas
Lámina01 / 05
Comandorsync -av fotos/ respaldo_fotos/
Piezas4
Escala1:1
N.ºPiezaTipoQué hace
1rsyncComandoEl comando para sincronizar archivos.
2-avOpcióna preserva atributos, v muestra lo que copia.
3fotos/ArgumentoCarpeta origen con barra al final: copia contenido, no la carpeta fotos.
4respaldo_fotos/ArgumentoCarpeta destino.
Resultado

Copia fotos/ a respaldo_fotos/. La segunda vez, solo copia lo que cambió.

Sincronizar incluyendo la carpeta raíz

4 piezas
Lámina02 / 05
Comandorsync -av fotos respaldo_fotos/
Piezas4
Escala1:1
N.ºPiezaTipoQué hace
1rsyncComandoEl comando para sincronizar archivos.
2-avOpciónModo archivo con verbose.
3fotosArgumentoSin barra al final: copia la carpeta fotos completa dentro de destino.
4respaldo_fotos/ArgumentoCarpeta destino.
Resultado

Queda respaldo_fotos/fotos/ con todo el contenido.

Probar antes de sincronizar (dry-run)

5 piezas
Lámina03 / 05
Comandorsync -av --dry-run fotos/ respaldo_fotos/
Piezas5
Escala1:1
N.ºPiezaTipoQué hace
1rsyncComandoEl comando para sincronizar archivos.
2-avOpciónModo archivo con verbose.
3--dry-runOpciónSimula sin hacer cambios.
4fotos/ArgumentoCarpeta origen.
5respaldo_fotos/ArgumentoCarpeta destino.
Resultado

Muestra qué archivos se copiarían/borrarían, pero no modifica nada.

Subir a un servidor que usa otro puerto de SSH

6 piezas
Lámina04 / 05
Comandorsync -avz -e "ssh -p 2222" proyecto/ usuario@servidor:/home/usuario/proyecto/
Piezas6
Escala1:1
N.ºPiezaTipoQué hace
1rsyncComandoEl comando para sincronizar archivos.
2-avzOpcióna conserva permisos y fechas, v muestra lo que copia y z comprime para la red.
3-eOpciónIndica cómo conectarse al servidor.
4"ssh -p 2222"ValorUsa ssh por el puerto 2222. Sin -e, rsync usaría ssh por el puerto normal, el 22.
5proyecto/ArgumentoLa carpeta local. Con / al final se copia su contenido.
6usuario@servidor:/home/usuario/proyecto/ArgumentoEl destino: usuario, equipo y ruta dentro de ese equipo.
Resultado

Sube al servidor solo lo que cambió desde la última vez. Si tu servidor usa el puerto 22 normal, quita el -e: rsync -avz proyecto/ usuario@servidor:/home/usuario/proyecto/.

Sincronización espejo con borrado

6 piezas
Lámina05 / 05
Comandorsync -av --delete --dry-run respaldo_fotos/ fotos/
Piezas6
Escala1:1
N.ºPiezaTipoQué hace
1rsyncComandoEl comando para sincronizar archivos.
2-avOpciónModo archivo con verbose.
3--deleteOpciónBorra en destino lo que no existe en origen. Hacer espejo exacto.
4--dry-runOpciónSiempre probar primero antes de aplicar --delete.
5respaldo_fotos/ArgumentoCarpeta origen del espejo.
6fotos/ArgumentoCarpeta destino que quedará idéntica al origen.
Resultado

Simula hacer que fotos/ sea idéntica a respaldo_fotos/: borra archivos que solo existan en fotos/.

§ 2

Opciones

Las que sí vas a usar
OpciónQué hace
-a--archiveModo archivo: preserva permisos, dueño, grupo, fechas, enlaces simbólicos. Es el más usado para respaldos.
-v--verboseMuestra lo que va copiando.
-z--compressComprime datos durante la transferencia (útil para red).
-r--recursiveCopia carpetas y todo su contenido recursivamente.
-n--dry-runSimula la sincronización sin hacer cambios reales. Ideal para probar.
--deleteElimina archivos en DESTINO que ya no existen en ORIGEN (sincronización espejo).
-PEquivale a --partial --progress. Muestra progreso y permite reanudar transferencias interrumpidas.
-e--rshCambia cómo se conecta al otro equipo. rsync ya usa ssh por omisión; -e sirve para pasarle opciones, como -e "ssh -p 2222" para otro puerto.
§ 3

Fallas comunes

FallaRemedio
Confundir fotos/ vs fotos.Con barra al final (fotos/), copia solo el contenido. Sin barra, copia la carpeta fotos dentro del destino.
Borrar archivos por error con --delete.Nunca uses --delete sin --dry-run primero. También revisa bien origen/destino.
Fallo de permisos SSH.Verifica que puedas hacer ssh usuario@servidor. Revisa permisos de la carpeta destino remota.
Sobreescribir dueño/grupo sin privilegios.Preservar dueño (-a incluye -o) requiere permisos de root en destino remoto para cambiar propietario.
§ 4

Preguntas frecuentes

¿Cuál es la ventaja de rsync sobre cp?
rsync solo copia lo que cambió, usa menos ancho de banda y tiempo. También puede sincronizar con servidores remotos via SSH.
¿Qué hace -a en rsync?
Activa modo archivo: preserva permisos, timestamps, dueño, grupo, enlaces simbólicos y copia recursivamente. Es el equivalente a -rlptgoD.
¿Cómo pruebo rsync sin modificar nada?
Agrega --dry-run (o -n). Así ves qué haría sin ejecutar cambios.
¿Cuándo usar --delete?
Cuando quieres que el destino quede exactamente igual al origen (espejo). Borra archivos que ya no existen en origen.
¿Cómo subir archivos a un servidor con rsync?
Con rsync -avz proyecto/ usuario@servidor:/var/www/proyecto/. rsync usa SSH por omisión, así que basta con que puedas entrar por ssh a ese servidor. Si usa otro puerto, agrega -e "ssh -p 2222".
§ 5

Ver también