sábado, 19 de mayo de 2012

Grsync - Copias de seguridad

Grsync es una interfaz gráfica del programa rsync, funcionando este último por línea de comandos. La aplicación es muy potente y Grsync transforma parte de la funcionalidad a través de una interfaz de usuario sencilla que evita memorizar comandos gracias a cajas de selección,

Es una herramienta que se usa para la sincronización de datos y mantener copias de seguridad, entre dos carpetas de un mismo ordenador, o entre dos ordenadores, o entre un ordenador y un dispositivo usb, como puede ser un pendrive o un disco duro externo, etc...

El diseño de la aplicación es sencillo y ocupa una ventana de tamaño medio con una serie de opciones. En la parte superior se eligen los directorios origen y destino al pulsar un botón que abre el explorador de archivos, y también unos botones para añadir nuevas sesiones o borrarlas, y elegir cualquiera de las existentes. En la mitad inferior se encuentran 3 pestañas, con opciones básicas, avanzadas y adicionales. Todas las opciones son cajones de selección que se marcan o desmarcan con el puntero, y otras opciones requieren escribir órdenes como en la línea de comandos. 

Al ser una aplicación potente y con muchas opciones, debe tenerse especial cuidado al trasladar todo a una interfaz gráfica. En este caso, aunque no se implementan todas las características o algunas siguen quedando relegadas a línea de comandos, el usuario medio o novato puede confundirse y no entender la mayoría de ellas. En este sentido se han distribuido muy bien las opciones en las 3 pestañas, cada una más avanzada que la anterior, y puede que un usuario normalmente no necesite pasar de la primera. Igualmente, la exclusión de archivos que no deben sincronizarse debería hacerse también mediante interfaz, siendo esto un punto negativo. Otra complicación que puede surgir, o en la que prestar especial atención, es en la de marcar opciones sin saber exactamente lo que hacen, ya que algunas pueden hacer desaparecer todos los datos del directorio que marcamos como destino. También hay que destacar como aspecto positivo, que todas las opciones tienen una pequeña descripción que aparece al situar el cursor encima de ellas.


El uso de sesiones también ha sido una idea muy bien pensada y que facilita el uso de la aplicación en gran medida. Una vez el usuario completa una configuración, no tendrá que hacerla más veces. Otras buenas cualidades respecto al diseño son la inclusión de barras de progreso para indicar el porcentaje completado de la sincronización, una consola que muestra la salida, y la opción de poder mostrar una lista en cada sincronización con los cambios específicos en el directorio. 



Permite configurar distintas "sesiones" con una configuración del programa cada una. El programa tiene diversas opciones y puede ser laborioso reconfigurar todo cada vez que se quiera realizar una copia, por ello pueden crearse estas sesiones la primera vez que se usen y guardarlas con un nombre descriptivo y fácil de recordar. 

Por ejemplo crear una sesión "UsuarioDebian en el mismo PC",  "UsuarioDebian en la red LAN - 192.168.1.3", o "UsuarioDebian en la red LAN - Portatil"   donde ya están configuradas las rutas y las opciones. Con esto es muy fácil realizar copias con tan solo un clic. Además permite exportar e importar estas sesiones.


La función principal del Grsync, es la sincronización de directorios y carpetas, ya sean usadas como copias de seguridad o como directorios compartidos, según el uso que se le quiera dar. Es decir, cuando se produce un cambio en un directorio o dentro de un fichero, Grsync debe conseguir que en la copia o directorio que se quiera sincronizar, este cambio se haga igualmente efectivo.

La primera vez que se ejecute la aplicación, lo que realmente pasa es que Grsync hace una copia completa de los datos que se han seleccionado al directorio destino donde se vuelcan los datos. Este es el primer paso, tener lo mismo en ambos sitios, y para ello hay que copiar de uno a otro. Una vez hecho esto, el objetivo es sincronizar, y para ello se encuentran multitud de opciones que convierten a Grsync en una genial herramienta de sincronización,
 diferenciándose un poco de las aplicaciones de copia de seguridad al uso.

Algunas de estas opciones son "borrar en destino", que machaca todo el contenido que haya en el destino donde se tiene la copia de seguridad, solo si esos datos no existen en el origen. Con esto se evita que por un error o cualquier otro problema, se hayan incluido ficheros no deseados en la copia.

Otras opciones son:

- Actualizar solo los ficheros existentes (si no se quieren copiar nuevos archivos)
- Copiar o no enlaces simbólicos y duros
- Ignorar ficheros que ya existen en el destino o no actualizar los ficheros más nuevos.

Con ello se encuentra una sincronización de copias al gusto del usuario y según sus preferencias, con un claro enfoque de copias de seguridad incrementales.

Grsync permite simular todos sus procesos. Con ello puede saberse si algo va a salir mal antes de realizar una copia o sincronización.



Notifica con la información de salida del programa de problemas como los ficheros que no han podido ser copiados y por qué motivo, si no existe algún directorio o si algo está protegido contra escritura. También puede comprobarse el tamaño de bytes transferido y la lista de archivos copiados. Esta opción es más recomendable aún en la primera copia que se realiza pues es donde el tráfico de datos es mayor.




El programa permite gestionar algunas de las propiedades naturales de los archivos que se van a copiar. En este sentido, se pueden mantener o no, algunas cualidades como la fecha de creación, el grupo, los permisos o el propietario de los ficheros. Una funcionalidad importante si interesa que la copia tenga las mismas propiedades que el original, o se quiere dar acceso a cualquier usuario a esos datos.



Como dije al principio Grsync permite al usuario elegir el destino de sus copias de seguridad o de los directorios que quiere sincronizar. En este sentido, puede elegirse cualquier ubicación del ordenador personal del usuario, como particiones, carpetas y también dispositivos extraíbles. Pero además y como característica especial, puede sincronizarse con un directorio remoto a través de una red mediante protocolo cifrado SSH.





La aplicación dispone de otras utilidades como mejorar la compatibilidad con sistemas de ficheros de Windows, no cruzar los límites del sistema de ficheros, realizar siempre un checksum (comprobación) tras cada operación o comprimir los datos para que ocupen menos.


Pero además incluye un mini-terminal para introducir mediante línea de comandos aquellas órdenes de rsync que Grsync no implementa mediante interfaz. Tal vez la más destacable sea la orden "exclude" para indicar directorios que no se quieren sincronizar.

Además se pueden añadir comandos para que se ejecuten antes o después de una sincronización. En el caso de un comando que deba ejecutarse antes, puede configurarse la aplicación para que no se ejecute en caso de error de ese comando. Y en caso del comando que se ejecuta después, puede configurarse para que se active solo en caso de fallo en Grsync.




Aunque con mucho potencial esta interfaz gráfica achaca algunos fallos. Por ejemplo no implementa del todo toda la funcionalidad de rsync, y no conserva por ejemplo la cualidad de sincronizar dos directorios remotos. En Grsync el origen debe ser siempre un directorio local. Otra propiedad que se ha comentado antes, y que no se ha transformado totalmente en la interfaz visual, es la exclusión de directorios a sincronizar, que se ha conservado como orden por línea de comandos, cuando otras aplicaciones de forma sencilla lo integran con el explorador de archivos.

El fallo más importante sería que Grsync no incluye una planificación o una sincronización automática. Es decir, no implementa ningún sistema en el que el usuario pueda definir que las sincronizaciones se hagan automáticas sin abrir el programa, ya sea indicándole el día de la semana, la hora exacta, o que las haga cada X tiempo transcurrido. Esta propiedad habría sido muy útil y la implementan la mayoría de aplicaciones de este tipo. Cierto es que puede usarse para ello el proceso cron de Unix, pero los programas suelen llevar su uso integrado.

Otro problema encontrado es que si se realiza una copia de un directorio, y el destino de la copia está dentro de ese mismo directorio, la aplicación entra en un bucle porque nunca termina de copiar todo el contenido, ya que el directorio destino siempre se estará llenando y duplicando información. Esto puede suponer graves problemas de espacio y el programa debería avisar de ello. De hecho si se simula esta situación la aplicación se cuelga. Otras herramientas tienen esto en cuenta y te obligan a que el directorio destino esté fuera del árbol del directorio a copiar.



Instalar Grsync

Como siempre hacemos en este blog, y con la ayuda del programa synaptic vamos a proceder a instalar el programa grsync. Es tan fácil como marcar para instalar el paquete grsync.

# apt-get install grsync





Videotutoriales





































































































































































































































































No hay comentarios: