Geek & Roll - Blog Archive » Sincronizar 2 carpetas en GNU/Linux y Windows

Sincronizar 2 carpetas en GNU/Linux y Windows

Cesar August 4th, 2010 aplicaciones, FLOSS, linux, tips, windows Haz un comentario

Tengo una carpeta llena de música que he ido acumulando a lo largo de los años. Siempre trato de mantener los ID3 tags correctos, pero de vez en cuando me encuentro algún MP3 que le hace falta información. Toda esta colección de música la tengo en el disco duro de mi computadora en una partición EXT4 para su uso desde Ubuntu, y respaldada en un disco duro externo de 1 TB con formato FAT32 para su uso en cualquier otro lugar.

El problema es que si edito, agrego, elimino o muevo un archivo en el disco externo, tengo que hacer lo mismo en el disco interno. Hacerlo manualmente no es una opción, y no puedo sincronizar utilizando alguna otra herramienta (como rsync) porque sólo sincronizan de una fuente a un destino, y en mi caso los cambios pueden darse en cualquiera de las dos carpetas, inclusive en las dos al mismo tiempo.

Esto es muy similar a como funcionan los sistemas de control de versiones, y precisamente el programa Unison File Synchronizer toma esta aproximación, le agrega algo de multiplataforma y facilidad de uso, resultando en una herramienta indispensable. Básicamente Unison puede tomar dos carpetas, compararlas y propagar los cambios de tal manera que al final queden ambas exactamente igual.

Por último, si alguna de las carpetas es de un sistema de archivos que no soportan permisos (como por ejemplo en mi caso, FAT32), hay que configurar Unison para que no intente sincronizar estos permisos. Para hacerlo hay que editar el archivo que se encuentra en ~/.unison/nombreDelPerfil.prf y agregar al final:

perms=0

Haz un comentario:

Es necesario que dejes tu nombre y correo electrónico (no se publicarán).

Si dejas un comentario anónimo, con insultos o ajeno al tema, iremos hasta tu casa y le diremos a tu mamá la cantidad de porno que hay en tu computadora. Si, lo sabemos.