Синхронизировать две директории на ПК с Linux

701
Gab

Мне нужна распределенная файловая система (или инструмент синхронизации), способный синхронизировать каталог на 4 компьютерах.

Мои требования:

  • автономный доступ (данные должны быть доступны в автономном режиме на каждом компьютере)
  • сохранить права на выполнение: некоторые файлы помечены как исполняемые на разделе Linux. Этот флаг должен быть реплицирован.
  • Эффективная стратегия синхронизации: некоторые из моих файлов имеют размер 20 ГБ, они меняются довольно часто, но очень мало (образы Virtualbox). Дельта-передачи приветствуются.
  • эффективная обработка пространства: нет истории для файлов, файлы не должны копироваться во временные каталоги «на случай, если вы сломаете его».
  • он должен распространять удаления файлов
  • Модификация может произойти в любом из 4 шт., они должны распространяться при подключении другого ПК.
  • Решение должно быть отказоустойчивым: большую часть времени 4 ПК отключены / не могут синхронизироваться.

Другие характеристики моего решения:

  • Синхронизация выполняется по локальной сети, общий объем синхронизируемых данных составляет около 180 ГБ в десяти тысячах файлов. Изменения небольшие, но могут происходить в больших файлах.
  • На данный момент меня интересует решение только для Linux.
  • Простая стратегия слияния: конфликты либо не случаются, либо решаются с помощью «последних побед»

Я не нашел хорошего решения. Я пытался:

  • Унисон: это единственный, который работает на данный момент, но мне пришлось сделать много пользовательских конфигураций (скрипты cron, которые связывают выполнение). Он зависает на моем компьютере в течение многих минут, чтобы обнаружить изменения, свет диска постоянно горит.
  • Sparkleshare не очень хорошо обрабатывает большие файлы. Он хранит историю всех ваших изменений, которая растет бесконечно. Они обещают, что это будет исправлено в следующих выпусках, но на данный момент это все еще не соответствует моим потребностям.
  • Owncloud не очень хорошо обрабатывает большие файлы, имеет плохую производительность копирования, хранит историю каждого файла, который я изменяю (может быть отключен).
  • коду? (помогите! Я не смог правильно его настроить!)
  • git-annex assistant преобразует все ваши файлы в символические ссылки и помечает исходный файл как доступный только для чтения («на случай, если вы допустите ошибку при его изменении»!). Перед тем, как редактировать файл, вы должны выполнить специальную команду «git-annex unlock», которая создает локальную копию файла, и вы должны не забыть снова заблокировать ее, если вы хотите, чтобы она была синхронизирована. Я должен был изучить руководство, прежде чем смог вернуть мои 180 Гб файлов! Никогда больше на моем компьютере!

Что попробовать дальше?

5
Что насчет rsync? wakeup 10 лет назад 0

1 ответ на вопрос

1
BryanC

Похоже, я некрою старую ветку, но, надеюсь, это поможет кому-то в будущем.

BTsync, вероятно, идеальный вариант для вас. Он использует частный рой и трекер для создания общих ресурсов синхронизации. Он очень отказоустойчив и хорошо обрабатывает блоки данных, а не просто синхронизирует файлы.

BitTorrent Sync

+1 для btsync. я тоже считаю его идеальным для этого. Также хорошо, чтобы necro старый вопрос с хорошим ответом. Особенно остальным без ответа. Sirex 10 лет назад 0

Похожие вопросы