Файловая система или инструмент с двунаправленной удаленной синхронизацией папки

Установка представляет собой несколько ноутбуков (Linux и Mac OS), которым нужна общая папка, но нет постоянного доступа к сети. Файлы должны быть доступны для использования в автономном режиме, а любые изменения должны быть загружены и загружены после повторного подключения без необходимости взаимодействия, если только не возникает конфликт изменений.

Рассмотрены возможные решения:

  • Git — требует регулярного взаимодействия и не предназначен для больших двоичных файлов.

  • Rysnc — только в одну сторону и не обрабатывает слияние изменений

  • Samba/nfs — они не хранят локальную копию, и ручное копирование в конечном итоге становится огромной проблемой слияния.

Может быть , git-приложение ? Я не пробовал, но может подойдет. Вот полезное руководство по началу работы , а также статья о синхронизации данных с Git-приложением Assistant, которую стоит прочитать.
git-annex выглядит как интересное решение, также расположенное в унисон, которое работает на разных платформах и имеет графический интерфейс. seas.upenn.edu/~bcpierce/unison//download.html
Не стесняйтесь использовать его, когда вы отвечаете на свой вопрос :)
Я не обязательно рекомендую Dropbox, но он или одна из его альтернатив лучше всего соответствует требованиям. Хотя я использую унисон.

Ответы (1)

Двунаправленная синхронизация является точной целью Unison, см. https://www.cis.upenn.edu/~bcpierce/unison/ :

Unison — это инструмент синхронизации файлов для OSX, Unix и Windows. Он позволяет хранить две реплики набора файлов и каталогов на разных хостах (или разных дисках на одном хосте), изменять их по отдельности, а затем обновлять путем распространения изменений в каждой реплике на другую.

Может работать по ssh. Исходя из опыта, основная проблема заключается в том, чтобы убедиться, что на обеих сторонах установлена ​​одна и та же версия программного обеспечения, даже скомпилированная одинаково, иначе синхронизация не удастся.

Инструмент будет обрабатывать двунаправленную синхронизацию. Однако он не работает как демон.

Если вы хотите автоматически запускать ресинхронизацию сразу после изменения файла, вам нужен другой инструмент, например, inosyncв Unix. Или все, что следит за файловой системой, а затем может запускаться unison.