¿Rsync y Windows?
Muchas redes y sistemas corporativos con máquinas heterogéneas utilizan el protocolorsync 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.
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.
Debemos arrancarlo como servicio en segundo plano a través de la consola principal de configuración.
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.
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.


Comentarios
Enviar comentario