Sistema de archivos o herramienta con sincronización remota bidireccional de una carpeta

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

¿ Quizás git-anexo ? No lo he probado, pero podría encajar. Aquí hay un útil "primeros pasos" y también un artículo sobre Sincronización de datos con el Asistente de Git-annex que vale la pena leer.
git-annex parece una solución interesante, también ubicada al unísono que opera en varias plataformas y tiene una interfaz gráfica de usuario. seas.upenn.edu/~bcpierce/unison//download.html
Siéntase libre de usarlo cuando responda su propia pregunta :)
No recomiendo necesariamente Dropbox, pero esa o una de sus alternativas se ajusta mejor a los requisitos. Sin embargo, uso unísono.

Respuestas (1)

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 inosyncen Unix. O cualquier cosa que observe el sistema de archivos y luego pueda ejecutarse unison.