GNU/Linux, Open Source, Cloud Computing, DevOps y más...

Realizar backups de Windows mediante rsync con DeltaCopy Server

5 comentarios

¿Rsync y Windows?

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.

 

Sobre el autor

Daniel López Azaña
Arquitecto de soluciones Cloud

Emprendedor, generador de ideas y mente inquieta. Apasionado de las nuevas tecnologías, especialmente de los sistemas Linux y del software libre. Me gusta escribir además sobre actualidad tecnológica, Cloud Computing, DevOps, seguridad, desarrollo web y programación, SEO, ciencia, innovación, emprendimiento, etc.

DanielRealizar backups de Windows mediante rsync con DeltaCopy Server

Artículos relacionados

5 comentarios

Unirte a la conversación
  • MIguel Angel Rodriguez - 20/03/2015 responder

    Hola, tengo una duda, no tengo mucha experiencia en esto y me gustaría saber si esto se pueden hacer respaldos de windows a linux, tengo un servidor ssh montado en centos y la mayoría de las maquinas que quiero respaldar tienen con windows 7, podria hacerlo de la manera que posteaste o tendría que utilizar otros programas?

    Jesus nava - 30/07/2015 responder

    MIguel Angel Rodriguez, claro que lo puedes hacer, en este momento yo lo hago entre mi server debian y clientes windows. solo debes crear los usuarios unix en el servidor y en mi caso respaldo en una carpeta compartida con samba y con permisos solo apra los usuarios de esta manera los usuarios pueden ver los respaldos en mi red y carpetas comunes para que se pasen informacion y asi evitar el uso de los pendrive si me escribes a mi correo personal te paso mis script y mucha de la documentacion que me he hecho yo para compartirla en mi gerencia

  • Raul de la Cruz - 25/08/2015 responder

    Hola,
    Me ha encantado el articulo y voy a seguir, al menos su espíritu. Si tengo un servidor Linux, tipo KIMSUFI o Amazon ¿Qué ventaja supone montar el servidor SSH en el equipo Windows?
    Intuitivamente el servidor me parece un lugar más adecuado para montar el servicio y utilizar Windows como cliente ¿no?
    Si fuera así ¿existe algún cliente windows de rsync que pueda hacer la parte del cliente que indicas en el articulo
    Raul

  • JOSE RIVERA - 01/09/2015 responder

    Hola necesito informacion sobre como hacer para que las computadoras de la oficina se pueda hacer backup de cada una en el servidor, el mismo es Linux y no tengo experiencia en Linux sobre esto.

  • Kevin Zuñiga Torres - 27/01/2016 responder

    Hola, te hago la misma consulta que Miguel angel.
    Yo tengo un servidor Rsync montado en un NAS (openmediaVault) Y todo bien para ocnfigurar entre linux (con un script para llevar mis carpetas al server).
    Pero con Windows no es igual, y el script varía demasiado, podrías ayudarme con un script para hacer esto?
    Muchas gracias!

Deja un comentario

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