Realizar backups de Windows mediante rsync con DeltaCopy Server

¿Rsync y Windows?

Rsync and Windows logos

Muchas redes y sistemas corporativos con máquinas heterogéneas utilizan el protocolo rsync para realizar backups de servidores o para mantener sincronizados automáticamente los ficheros de uno o varios directorios en diferentes máquinas. Linux incorpora de forma nativa la utilidad rsync y otras herramientas asociadas, pero, ¿qué hacer cuando necesitamos hacer copias de seguridad de carpetas Windows de forma automática desde un NAS o una máquina remota? Una opción podría ser utilizar Samba para poder leer el contenido de dichas carpetas desde Linux, pero se trataría de una solución bastante compleja, pues nos obligaría a configurar Samba en el lado del servidor, configurar los distintos permisos y opciones en el propio Windows y además nos impone la restricción de que ambas máquinas estén en la misma red local o a configurar complicadas reglas en nuestro firewall para permitir el tráfico SMB/CIFS. Y con todo ello, la transferencia a través de la red de nuestros ficheros no sería segura, pues se realizaría en claro sin ningún tipo de cifrado.

Rsync backup through network

Existe una solución mucho más sencilla, y consiste en aprovechar la flexibilidad y la seguridad que nos proporciona SSH junto con la simplicidad y fiabilidad de rsync para sincronizar ficheros a través de la red. Tan sólo necesitaremos configurar un servidor SSH en nuestra máquina Windows e instalar el software DeltaCopy Server, que hará las veces de servidor rsync.

DeltaCopy Server

DeltaCopy Server se pone a escuchar en el puerto 873 del mismo modo que lo haría el demonio rsync para atender peticiones de sincronización de ficheros.

Windows rsync listening on port 873

Debemos arrancarlo como servicio en segundo plano a través de la consola principal de configuración.

DeltaCopy configuration console - start server

Por último, simplemente especificaremos los directorios virtuales que contendrán los ficheros que queremos sincronizar y que serán los únicos visibles desde el cliente rsync. Tenemos la posibilidad de establecer estos directorios virtuales como de sólo lectura para impedir que sean modificados desde el exterior y también de establecer un usuario y contraseña, aunque si utilizamos SSH no será necesario ningún mecanismo de autenticación adicional.

DeltaCopy Virtual Directories

Comando a ejecutar desde el cliente rsync

Una vez que tenemos todo configurado en Windows ya sólo quedaría ejecutar el comando necesario para sincronizar el contenido de los directorios virtuales en la máquina cliente que se va a encargar de llevar a cabo los backups, siendo 192.168.0.20 la máquina Windows, aeat el directorio virtual y /var/data/backups/aeat/ el directorio de destino donde sincronizar los ficheros en la máquina cliente que ejecuta rsync:

$ rsync -avz --delete-before 192.168.0.20::aeat /var/data/backups/aeat/

Incluso podemos utilizar algunas opciones más avanzadas para hacer backup como rdiff-backup o rsnapshot, ya que ambas funcionan sobre rsync.

5 comentarios

    • Jesus nava 30/07/2015
  1. Raul de la Cruz 25/08/2015
  2. JOSE RIVERA 01/09/2015
  3. Kevin Zuñiga Torres 27/01/2016

Responder a Raul de la Cruz Cancelar respuesta

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *