Sincroniza carpetas entre tu equipo y tu servidor mediante rsync

Publicado por Fox in the Net el 05 agosto 2016 a las 10:00
  1. Administración de sistemas
  2. Sincroniza carpetas entre tu e...

Hay ocasiones en las que necesitamos sincronizar dos directorios ya sea en el mismo equipo o con un equipo remoto. Para este cometido tenemos el comando rsync. Lo más atractivo de rsync es que no copia todos los archivos en cada proceso, si no que sincroniza solo los nuevos y modificados. El uso de este comando es bastante sencillo, para sincronizar dos carpetas que están en el mismo equipo debemos introducir:

rsync -avruz --progress --delete --exclude='carpeta' carpetaOrigen carpetaDestino

Las opciones de rsync que hemos usado son:

  • a: esto es equivalente a usar varias opciones, es una forma rápida de indicar que deseamos conservar todo.
  • v: esta opción aumenta la cantidad de información que se muestra durante la transferencia.
  • r: esto le dice a rsync que copie directorios recursivamente.
  • u: omite los archivos que existen en el destino y tienen una hora de modificación más reciente que el archivo de origen
  • z: con esta opción rsync comprime los datos del archivo lo que reduce la cantidad de datos que se transmiten.
  • progress: esta opción le dice a rsync que muestre la información sobre el progreso de la transferencia.
  • exclude: sirve para excluir una carpeta de la sincronización. Se debe poner la ruta relativa desde la carpeta a sincronizar. La opción 'exclude' se puede poner tantas veces como carpetas necesitemos excluir.
  • delete: esta opción indica a rsync que debe eliminar los archivos de la carpeta destino que no existan en la carpeta origen.

Si lo que deseamos es sincronizar una carpeta origen en local con una carpeta en un servidor remoto, usaremos el siguiente comando:

rsync -avruz --delete --progress carpetaOrigen -e "ssh" usuario@ipServidor:carpetaDestino

En cambio, si lo que deseamos es sincronizar una carpeta en un servidor remoto con una carpeta destino en local, debemos introducir:

rsync -avruz --delete --progress -e "ssh" usuario@ipServidor:carpetaOrigen carpetaDestino

Con estás indicaciones, junto con las indicaciones sobre exportar bases de datos y crear tareas programadas podemos crear un sistema de copias de seguridad automáticas para nuestro servidor dedicado o VPS.