Capítulo 27. Sincronización de archivos

Tabla de contenidos

27.1. Software de sincronización de datos disponible
27.2. Factores determinantes para seleccionar un programa
27.3. Introducción a Unison
27.4. Introducción a CVS
27.5. Introducción a Subversion
27.6. Introducción a rsync
27.7. Introducción a mailsync

Resumen

Hoy en día, muchas personas utilizan varios equipos: uno en casa, otro o varios en el trabajo y un portátil o PDA cuando están de viaje. Se necesitan muchos archivos en todos estos equipos. Resulta conveniente poder trabajar con ellos y que, al modificar los archivos, las versiones más recientes de los datos estén disponibles en todos los equipos.


27.1. Software de sincronización de datos disponible

La sincronización de datos no supone un problema para los equipos que están enlazados de forma permanente a través de una red rápida. En estos casos, la utilización de un sistema de archivos de red, como NFS, y el almacenamiento de los archivos en un servidor hacen posible que todos los hosts accedan a los mismos datos mediante la red. Este enfoque no es factible si la conexión de red es de escasa calidad o no es permanente. Si está de viaje con un portátil, necesitará disponer de copias de los archivos necesarios en el disco duro local. Sin embargo, en ese caso es necesario sincronizar los archivos modificados. Al modificar un archivo en un equipo, asegúrese de que se actualiza una copia del archivo en todos los demás equipos. En el caso de copias ocasionales, esta tarea puede llevarse a cabo manualmente mediante scp o rsync. No obstante, si hay muchos archivos implicados, el procedimiento puede resultar complicado y requerir mucho cuidado para evitar errores, como la sobrescritura de un archivo más reciente por uno anterior.

[Warning]Riesgo de pérdida de datos

Antes de empezar a gestionar los datos con un sistema de sincronización, debe estar bien familiarizado con el programa que vaya a emplear y comprobar sus funciones. Resulta indispensable disponer de una copia de seguridad de los archivos importantes.

La tarea de sincronización manual, que requiere mucho tiempo y propicia que se produzcan errores, puede evitarse empleando uno de los programas que utilizan distintos métodos para automatizar este trabajo. Los siguientes resúmenes sólo pretenden ofrecer una descripción general del funcionamiento de estos programas y el modo en que pueden utilizarse. Si tiene previsto utilizarlos, lea la documentación de los programas.

27.1.1. Unison

Unison no es un sistema de archivos de red. En su lugar, los archivos sencillamente se guardan y editan en una ubicación local. El programa Unison puede ejecutarse manualmente para sincronizar archivos. Cuando la sincronización se lleva a cabo por primera vez, se crea una base de datos en ambos hosts que contiene las sumas de control, las marcas horarias y los permisos de los archivos seleccionados. En la siguiente ejecución, Unison reconoce los archivos modificados y propone la transmisión desde un host o el otro. Normalmente se pueden aceptar todas las sugerencias.

27.1.2. CVS

CVS, que normalmente se utiliza para gestionar versiones de programas, ofrece la posibilidad de conservar copias de los archivos en varios equipos. Por lo tanto, también es adecuado para la sincronización de datos. CVS mantiene un repositorio central en el servidor, donde se almacenan los archivos y los cambios realizados en ellos. Los cambios realizados localmente se asignan al repositorio y se pueden recuperar desde otros equipos mediante actualizaciones. El usuario debe iniciar manualmente ambos procedimientos.

CVS es muy resistente a los errores cuando los cambios se producen en varios equipos. Los cambios se fusionan y, si se producen cambios distintos en las mismas líneas, se informa acerca del conflicto. Cuando se produce un conflicto, la base de datos sigue conservando la coherencia. El conflicto sólo aparece en el host del cliente, a fin de que sea posible resolverlo.

27.1.3. Subversion

En contraste con CVS, que “evolucionó” de forma espontánea, Subversion (SVN) es un proyecto diseñado de forma coherente. Subversion se desarrolló como un sucesor de CVS mejorado técnicamente.

Subversion supera en muchos aspectos a su predecesor. Debido a su historia de desarrollo, CVS sólo conserva archivos y obvia los directorios. En Subversion, los directorios también tienen un historial de versiones y existe la posibilidad de copiarlos y modificar sus nombres, del mismo modo que ocurre con los archivos. También es posible añadir metadatos a todos los archivos y directorios. Estos metadatos pueden mantenerse totalmente en las sucesivas versiones. A diferencia de CVS, Subversion es compatible con el acceso transparente a la red mediante protocolos dedicados, como WebDAV (del inglés Web-based Distributed Authoring and Versioning, versiones y autoría distribuidas basadas en Web). WebDAV amplía la funcionalidad del protocolo HTTP para permitir acceso de escritura de colaboración en los archivos de servidores Web remotos.

Subversion se generó en gran medida a partir de paquetes de software existentes. Por lo tanto, el servidor Web Apache y la extensión WebDAV siempre deben ejecutarse con Subversion.

27.1.4. mailsync

A diferencia de las herramientas de sincronización descritas en las secciones anteriores, mailsync sólo sincroniza mensajes de correo electrónico entre buzones. El procedimiento puede aplicarse a archivos de buzón locales y a buzones de un servidor IMAP.

En función del identificador de mensaje que incluya el encabezado, los mensajes individuales se sincronizan o se suprimen. Existe la posibilidad de llevar a cabo la sincronización entre buzones individuales y entre jerarquías de buzones.

27.1.5. rsync

Cuando no es necesario controlar las versiones, pero sí sincronizar grandes estructuras de directorios en conexiones de red lentas, la herramienta rsync ofrece mecanismos desarrollados específicamente para transmitir sólo los cambios producidos dentro de los archivos. Esto no es aplicable únicamente a los archivos de texto, sino también a los binarios. Para detectar las diferencias entre los archivos, rsync los subdivide en bloques y procesa sus sumas de control.

El esfuerzo que implica la detección de los cambios tiene un precio. Es preciso ampliar de manera significativa los sistemas que se pretenden sincronizar mediante rsync; sobre todo en lo que respecta a la memoria RAM.

27.1.6. Novell iFolder

Novell iFolder permite acceder a los archivos desde cualquier ubicación y en todo momento. Al colocar archivos en un directorio de iFolder, se sincronizan instantáneamente con el servidor. Con este método, puede trabajar desde cualquier lugar.

Novell iFolder también permite trabajar sin conexión. Esto resulta muy cómodo si no dispone de conexión a Internet, por ejemplo al trabajar con un portátil cuando se encuentra de viaje. Después de establecer correctamente la conexión a Internet, los cambios realizados en el trabajo se envían al servidor.

El trabajo con iFolder implica los siguientes pasos:

  1. Inicie sesión antes de trabajar con iFolder.

  2. Modifique las preferencias de frecuencia de sincronización.

  3. Sincronice los archivos y observe la actividad entre el cliente y el servidor de iFolder.

  4. Resuelva los conflictos que se produzcan durante la sincronización. Los conflictos se producen cuando se modifica el mismo archivo en dos equipos diferentes. iFolder almacena los archivos en conflicto en un directorio distinto para evitar la pérdida de datos.

Para obtener más información acerca de iFolder, acceda a http://www.novell.com/en-en/documentation/. Encontrará sugerencias y trucos para iFolder en http://www.novell.com/coolsolutions/ifmag/.