BULMA Bulma amb el projecta Defective by Desing
Bergantells Usuaris de GNU/Linux de Mallorca i Afegitons   |   Bisoños Usuarios de GNU/Linux de Mallorca y Alrededores
CONTENIDOS
. Jornadas de software libre
. Version para PDA
. Enlaces breves
. La asociacion
. Los mas leidos
. Autores [Actividad]
. Ultimos Comentarios
. Todos los titulares!
. Estadisticas
. Guia de estilo
. ¿Sugerencias?
. Wiki
. XML [Ayuda]
Listas de correo
. Archivos bulmailing
. Archivos BulmaGes
Radio libre :-)
. Des de la Xarxa (Archivos)
. Mallorca en Xarxa
Busquedas

+ Enlaces Linux
Ultimos kernels
(02/09/2010 18:16:25)
    
Google


En bulma.net
En internet
¿Sincronizar varios ordenadores o backups? unison (27108 lectures)
Por Ricardo Galli Granada
gallir (http://mnm.uib.es/gallir/)
Creado el 11/11/2004 18:34 modificado el 11/11/2004 18:34

Seguramente todos nos encontramos con el problema de querer sincronizar directorios de varios ordenadores, y además que las modificaciones en uno de ellos se propague automáticamente a los demás. Si te has dado cuenta de la restricción principal del rsync (hay un "maestro" y la sincronziación es unidireccional), lo tuyo es el unison.

Pagina1/1

Unison permite mantener actualizados árboles completos en el mismo ordenador (diferentes directorios) o en ordenadores remotos (usando ssh u otros métodos). Además propaga las modificaciones en ambos sentidos. Así es posible mantener sincronizados casi los ordenadores que querramos. Si no hay conflictos (i.e. el mismo fichero modificado en ordenadores distintos y que es imposible hacerles un "merge"), todos tendrán las mismas copias.

Sincronización remota

El unison me soluciona perfectamente mi problema de tener sincronizado mi ordenador de escritorio de casa con portátil (minime) y con el de mi despacho (pcgallir). En los ejemplo sinzcronizo el directorio "Proyectos" y "Presentacions". La solución es muy sencilla, directorio a directorio y usando el ssh desde mi $HOME:

unison Proyectos ssh://minime/Proyectos

Es es equivalente a:

unison /home/gallir/Proyectos ssh://minime//home/gallir/Proyectos

Si no queremos que nos pregunte por cada opción, podemos hacer por ejemplo:

unison -auto -batch Proyectos ssh://minime/Proyectos

IMPORTANTE: El unison borra los ficheros eliminados en uno de los ordenadores que sincroniza, si queréis mantener copia de los borrados, mirad la opción -backup en la documentación.

Perfiles

Con lo anterior es suficiente para sincronizar entre varios ordenadores, pero tiene algo aún más potente, los perfiles. Con ello es posible crear un perfil para cada ordenador con el queramos sincronizar. Los perfiles se crean en $HOME/.unison/nombre_perfil.prf. Por ejemplo, para sincronizar con minime tengo definido los siguiente:

$ cat ~/.unison/minime.prf
auto = true
batch = true
root = /home/gallir
root = ssh://minime
path = Proyectos
path = Presentacions
ignore = Path */.directory
ignore = Path */Olds
ignore = Name {olds,*~}

Ahora sólo hay que ejecutar:

unison minime

Supongo que véis claramente que se especifica dos veces root para indicar el origen y destino, y luego path las veces que queráis. Los ignore ya os imagináis, es para no copiar ficheros o directorios completos. El unison trabaja con expresiones regulares, permite especificar "Name" donde se toma en cuante sólo el nombre del fichero, Path para especificar el nombre completo, o directamente regexp para especificar la expresión regular.

Abajo es muestro la salida de un sincronziación con el perfil anterior justo después de agregar un fichero (novembre.sxw).

$ unison  minime
Contacting server...
Looking for changes
  Presentacions
  Presentacions/PReina
  ...
  Proyectos/Campos2004
  Waiting for changes from server
Reconciling changes

local          minime
new file ---->            Proyectos/SaNostra/novembre.sxw
Propagating updates

UNISON started propagating changes at 17:59:51 on 11 Nov 2004
[BGN] Copying Proyectos/SaNostra/novembre.sxw
  from /home/gallir
  to //minime//home/gallir
[END] Copying Proyectos/SaNostra/novembre.sxw
UNISON finished propagating changes at 17:59:51 on 11 Nov 2004

Saving synchronizer state
Synchronization complete

Si os hacéis la pregunta ¿se pueden mantener sincronizados varios ordenadores en cadena? La respuesta es , sin problemas, es "transitivo". Y seguramente también os preguntáis si usa un algoritmo como el rsync para minimizar las transferencias de datos, pues .

Backups

Este es el caso más sencillo el unison, y muy útil para hacer esos backups tan habituales entre discos o particiones. Por ejemplo:

unison /home/gallir /disk2/home/gallir

Seguramente no queréis que se hagan copias de algunos ficheros, o asegurar que siempre "manda" la versión del original, también podéis crear perfiles para ello, por ejemplo:

$ cat ~/.unison/backup.prf
auto = true
batch = true
root = /home/gallir/
root = /disk2/home/gallir/
prefer = /home/gallir/
ignore = Path */.directory
ignore = Path */Olds
ignore = Name {olds,*~,tmp,temp,.*}

Automatizar en el crontab

Ahora sólo queda automatizarlo llamándolo desde el crontab. Por ejemplo:

31 6 * * *  unison backup
0 7 * * *   unison minime

En el caso del backup está claro que casi no hay mejora posible (además de redireccionar toda la salida a /dev/null, o indicar la opción -silent del unison, pero es que todavía estoy controlando que funcione correctamente), pero en el caso de sincronizar con el portátil... ¿qué pasa si no está conectado o está apagado? Pues muy fácil, para eso ya somos unos manitas con los script en shell:

0 7 * * *   if ping -c 1 minime; then unison minime; fi

Et voilà... y nunca más preguntes como se puede hacer para recuperar ficheros borrados en ext3 :-)


Imprimir
Version para
imprimir

Imprimir
Version
PDF
Comentarios
Es posible que se hayan omitido algunos comentarios considerados poco constructivos
1.  Re: ¿Sincronizar varios ordenadores o backups? unison (12/11/2004 09:22, #24208)
  Por: DaniRC
Saludos Ricardo,

Ultimamente pones pocos articulos "tecnicos", pero macho ... los que pones siguen siendo una JOYA!

Gracias por descubrirnos el unison ;-)
--dani.
No es pot respondre
 
2.  Ejem (16/11/2004 00:36, #24260)
  Por: Ignorado

Bulma ya va creciendo, ¿eh?

http://bulma.net/body.phtml?n IdNoticia=1539

No es pot respondre
 
3.  Re: Ejem (17/11/2004 13:52, #24311)
  Por: gallir (http://mnm.uib.es/~gallir/)
Columna de la derecha.
No es pot respondre
 
4.  Gràcies! (12/11/2004 11:24, #24209)
  Por: Anònim
Ja no m'enrecordava d'aquesta joia anomenada Unison i és *exactament* el que em calia per a un projecte en el que estic ficat.

Avui, entre el redescubriment d'Unison i el descubriment de Synergy, es pot dir que es tracta d'un gran dia. :-)
No es pot respondre
 
5.  Re: ¿Sincronizar varios ordenadores o backups? unison (12/11/2004 11:27, #24210)
  Por: FrIkI (http://friki.org)
No et creuràs que estava cercant algo així... :D

A més també voldria saber si hi ha algún programa que pugui sincronitzar entre un ordinador i un pendrive usb.

Ja estava a punt de fotre'm a escriure un script per lo de l'usb... a veure si em salvau ;)

Molt bé!!

Adéu...!
No es pot respondre
 
6.  Re: ¿Sincronizar varios ordenadores o backups? unison (12/11/2004 14:23, #24214)
  Por: gallir (http://mnm.uib.es/~gallir/)
A més també voldria saber si hi ha algún programa que pugui sincronitzar entre un ordinador i un pendrive usb.

El mismo unison lo puede hacer perfectamente (de hecho es lo mismo que lo explicado en el artículo). En todo casi si quieres puedes hacer un script que monte el pendrive y luego ejecute el unison con el perfil pendrive, por ejemplo. Algo como:

mount /dev/ubxxx /media/flash
unison pendrive
umount /media/flash

El pendrive.prf sería algo como:

auto = true
batch = true
root = /home/gallir/pendrive/
root = /media/flash/

No es pot respondre
 
7.  Re: ¿Sincronizar varios ordenadores o backups? unison (14/11/2004 21:34, #24237)
  Por: FrIkI (http://friki.org)
Vaig a provar-ho! Gràcies!!
No es pot respondre
 
8.  Re: ¿Sincronizar varios ordenadores o backups? unison (12/11/2004 12:15, #24212)
  Por: Anònim

I hi ha versió per Windows!

M'anirà molt bé perquè justament estàvem buscant una cosa així i estic intentant introduir software lliure a la feina ... (no només per ideologia, sinó perquè penso, amb honroses excepcions, que sol ser de millor qualitat que el propietari).

No es pot respondre
 
9.  Re: ¿Sincronizar varios ordenadores o backups? unison (09/09/2006 16:02, #34900)
  Por: Anónimo
Me cago en vuestra puta madre hablando en chino. Q ganas de q no podamos entenderlo los demás sin añadir la última letra a todas las palabras, jajajajaj
No es pot respondre
 
10.  Re: ¿Sincronizar varios ordenadores o backups? unison (12/11/2004 19:37, #24217)
  Por: Anònim
Molt interessant!! Ja l'estic utilitzant.

Una pregunta: Quina diferència hi han entre fer:

$ unison /home/gallir /disk2/home/gallir

i fer

$ cp -R --update /home/gallir /disk2/home/gallir

Gràcies per la informació. Pep
No es pot respondre
 
11.  Re: ¿Sincronizar varios ordenadores o backups? unison (12/11/2004 20:45, #24219)
  Por: gallir (http://mnm.uib.es/~gallir/)
Primero que el cp no funciona en red. Por otro lado el cp -u sólo copia en un sentido y sólo tiene en cuenta la hora de modificación. El unison verifica el fichero (por defecto ignora la hora, prueba haciendo un touch), además copia en ambos sentidos, resuelve conflictos y hasta mezcla ficheros (mira el "merge").

Para rematar, ahorra ancho de banda porque usa un algoritmo como el rsync.
No es pot respondre
 
12.  Re: ¿Sincronizar varios ordenadores o backups? unison (16/11/2004 07:33, #24268)
  Por: Anònim
Muchas gracias por esta respuesta tan detallada. Voy a cambiar mis múltiples cp por unison. Gracias por haber posteado este tip. Saludos. Pep.
No es pot respondre
 
13.  Re: ¿Sincronizar varios ordenadores o backups? unison (12/11/2004 19:50, #24218)
  Por: Rafael Rodríguez
...Y entonces llegó Galli para solucionarme la vida :) Es el método perfecto para sincronizar mi portátil en casa... Gracias!!!!!!!
No es pot respondre
 
14.  Re: ¿Sincronizar varios ordenadores o backups? unison (14/11/2004 09:03, #24235)
  Por: Pablo Braulio (http://www.humano.ya.com/bruli)
Hola Ricardo.
Aparte de decir que me parece una artículo muy interesante y práctico, me gustaría que me dieras tu opinión sobre nfs.
Estoy usando en mi red local nfs para compartir directorios, y estoy bastante contento con ello.
Según pones en el artículo, con unison (después de configurarlo) hay que tocar el cron, mientras que nfs una vez montado ya sincroniza o comparte (como quieras llamarlo).
Si nos centramos en el uso de unisón para compartir directorios en una red local, ¿tiene alguna ventaja respecto a nfs, que yo no haya visto?.
Saludos.
Pablo.
No es pot respondre
 
15.  Re: ¿Sincronizar varios ordenadores o backups? unison (16/11/2004 13:34, #24278)
  Por: carcoco

Molt be, pero si volem fer els backups incrementals, supose que tindriem que currar-nos un parell de scripts, no ?

No es pot respondre
 
16.  Re: ¿Sincronizar varios ordenadores o backups? unison (16/11/2004 14:37, #24279)
  Por: gallir (http://mnm.uib.es/~gallir/)
O algo similar, fácil y guapo, es decir: KISS :-)
No es pot respondre
 
17.  Re: ¿Sincronizar varios ordenadores o backups? unison (16/11/2004 14:39, #24280)
  Por: gallir (http://mnm.uib.es/~gallir/)
Cony, le agrega un espacio! Repito con enlace corto:

O algo similar, fácil y guapo, es decir: KISS :-)

No es pot respondre
 
18.  Backups incrementales a disco: rsnapshot (17/11/2004 13:32, #24310)
  Por: jlmarin

Para incrementales a disco duro lo mas simple y eficiente es rsnapshot. Que por cierto está basado en rsync. Una joya.

Lo que me gustaría saber es si unison tiene el mismo nivel de calidad y estabilidad que rsync, o si por el contrario es demasiado nuevo y por tanto hay que esperar a "depurar" bugs. No se me entienda mal, voy a empezar a probarlo desde ya mismo; pero me gustaría saber de las experiencias de otros.

Del unison lo más interesante parece ser el tema de tratar adecuadamente los conflictos (cambios simultáneos en ambas réplicas) y los borrados de ficheros. Porque si no fuera por eso, con un par de "rsync -avuz" estaría resuelto.

Ahora bien, para el que quiera un historial completo de todas las versiones sucesivas de cada fichero, lo mejor sigue siendo CVS (hoy en día SVN), que también admite ficheros binarios.

No es pot respondre
 
19.  Qué pasa con los borrados de ficheros? (17/11/2004 13:59, #24312)
  Por: jlmarin

Enhorabuena por el artículo y por dar a conocer esta herramienta.

Acabo de mirar (aunque demasiado rápido quizá) el manual de unison y no veo ninguna referencia a cómo se gestionan los borrados de ficheros. Supongo que sin más, es decir si borro en una de las réplicas (y en la otra no modifico el fichero desde la ultima sincronización) entonces en la próxima resincronización se borrará en todas las réplicas, ¿no?

No es pot respondre
 
20.  Re: Qué pasa con los borrados de ficheros? (17/11/2004 15:37, #24314)
  Por: gallir (http://mnm.uib.es/~gallir/)
Sí, un fichero que se borra también es borrado en sus réplicas.
No es pot respondre
 
21.  Re: ¿Sincronizar varios ordenadores o backups? unison (24/10/2006 21:03, #35953)
  Por: vertical
Hola, Alguien sabe como poder preservar los permisos? he probado con -perms -1 y no ha funcionado. Muchas gracias.
No es pot respondre
 
22.  Re: ¿Sincronizar varios ordenadores o backups? unison (26/04/2007 11:39, #40393)
  Por: Anónimo
esta muy bien y muy clara se puede aser lo que dicen juaNPEREZ
No es pot respondre
 
GRACIAS
Distribuciones Universal
Por el servidor
Dpto. de Matematicas e Informatica
Calificacion
***0
Vots: 36
Danos tu opinion:
**** Excelente
***0 Muy Bueno
**00 Bueno
*000 Regular
0000 Malo
Relacionados
. Sincronización de ficheros con unison.
SECCIONES
Noticia
Breve
Truco
Enlace
Participa
Proyecto
Articulo
Webbulma
Manoletada :-)
Seguridad
Modificado: 25/1/2008 19:07:24 | Tiempo Total: 0.084 segs | Kernel: Linux - i686 - 2.6.26-1-686 | Last boot: 02/09/2010 20:04 CEST
Powered by Apache    MySQL    PHP    Gimp