La configuración es varias computadoras portátiles (Linux y Mac OS) que necesitan una carpeta compartida pero no tienen acceso constante a la red. Los archivos deberían poder usarse sin conexión y cualquier cambio debe cargarse y descargarse al volver a conectarse sin necesidad de interacción a menos que haya un conflicto de cambio.
Posibles soluciones revisadas:
Git: requiere una interacción regular y no está diseñado para archivos binarios grandes
Rysnc: solo de una manera y no maneja los cambios de fusión
Samba/nfs: no mantienen una copia local y la copia manual finalmente se convierte en un gran problema de combinación
La sincronización bidireccional es el objetivo exacto de Unison, consulte https://www.cis.upenn.edu/~bcpierce/unison/ :
Unison es una herramienta de sincronización de archivos para OSX, Unix y Windows. Permite que dos réplicas de una colección de archivos y directorios se almacenen en diferentes hosts (o diferentes discos en el mismo host), se modifiquen por separado y luego se actualicen propagando los cambios en cada réplica a la otra.
Puede funcionar sobre ssh. Por experiencia, el principal problema es asegurarse de tener exactamente la misma versión del software, incluso compilado de la misma manera, en ambos lados, de lo contrario, la sincronización fallará.
La herramienta manejaría la sincronización bidireccional. Sin embargo, no funciona como un demonio.
Si desea activar automáticamente una resincronización tan pronto como se modifique un archivo, necesita otra herramienta, como inosync
en Unix. O cualquier cosa que observe el sistema de archivos y luego pueda ejecutarse unison
.
izzy
Roberto
izzy
Vlastimil Ovčáčík