Есть удаленный (оффлайн, нет интернета, нет лан, есть usb, можно включать флешки, Ubuntu) компьютер №1
Есть второй компьютер №2 работающий в сети (Ubuntu). имеющий интернет (но это не важно).
Есть некий каталог на обоих компьютерах (достаточно большой), который хотелось бы синхронизировать между собой.
Юзер кейс №1:
На компьютере №1 меняется информация в каталоге, спустя некоторое время приходит человек с флешкой, и перебрасывает изменения на неё.
Приходит к компьютеру №2, вставляет флешку -- каталог синхронизировался, изменения записались с флешки на комп №2.
Юзер кейс №2:
На компьютере №2 изменяется информация в каталоге, спустя некоторое время изменения сбрасываются на флешку, и человек идет к компьютеру №1, там каталог синхронизируется.
Считаем что конфликтов файлов не бывает (скажем так -- указываем что удаленный компьютер №1 имеет бОльший приоритет.
Файлы как правило не изменяются, т.е. могут быть удалены, перемещены, созданы, но если есть возможность отслеживать изменения файлов то гуд.
Флешка должна быть лишь промежуточным звеном, копии каталога на флешке быть не должно (не уместится весь).
Есть какие нибудь готовые решения ?
В голову приходят всякие Git, Diff, и т.п. но размер каталога достаточно большой, около 300 гб, файлы - двоичные.
@xandox изменения за раз порядка 10 гб.
Изменения -- это просто создание, перемещение, удаление файлов.
Файлы - это видео, jpg картинки и т.п. Хочется все же знать что файл был изменен, и соотвественно чтобы он через флешку попал на другой компьютер.
Решения есть ?
Наверное я делал бы так
сохранял бы куда-нибудь последнюю дату_время синхронизации, при синхронизации копировал бы на флешку файлы у которых дата_время последнего изменения более новая, ну и соответственно на А приоритет перед своими файлами, на B приоритет у флэшки.
вряд ли такие есть, но можно упростить через систему инкрементальных бэкапов (с какой-то версии в убунте есть предустановленая) и соответственно таскать только их дифы, но как там будет решаться проблема с конфликтами - фиг знает.