-2

Я часто работаю над устаревшей версией документа, потому что раньше я редактировал ее на своем MacBook, а теперь я на своем Mac Pro.

Я ищу инструмент, который помог бы мне синхронизировать это как можно более плавно. В моем распоряжении также есть сервер Debian.

Как сейчас, у меня есть скрипт rsync на обоих компьютерах Mac, который синхронизируется с папкой на сервере Debian. Я пытаюсь выполнить всякий раз, когда я переключаю машину, но часто случается, что я забываю это, и иногда, если я забыл и позже получаю данные с сервера, мои данные теряются. В общем, это утомительное решение.

Какие есть альтернативы? Я надеялся на инструмент, который мог бы как-то помочь мне автоматизировать это. Желательно что-то с контролем версий. Я рассмотрел вопрос настройки Git-сервера в Debian, но я не знаю, является ли это лучшим решением. Объем данных, которые мне нужно синхронизировать, сейчас составляет около 2 ГБ.

Я надеюсь, что это относится и к этому - я не чувствовал, что это был вопрос OS X, UNIX или серверный вопрос.

5 ответов5

3

Я использую Unison уже много лет, и он работает очень хорошо: это двусторонний синхронизатор файлов с GUI и CLI.

1

Если вы хотите работать с большими репозиториями и контролем версий, включая бинарные файлы, я бы не рекомендовал git, но mercurial.

Однако вам придется написать свои собственные cronjobs для совершения и толкания.

Unison (упомянутый Микеле Марчионелли) - действительно отличный инструмент для двунаправленной синхронизации, особенно через ssh. Он имеет пакетный режим, который не задает вопросов и, следовательно, разрешает конфликты автоматически, но я бы не советовал, поскольку разрешение конфликтов вручную прекрасно работает с графическим интерфейсом. Если вам нужен контроль версий с помощью unison, вы можете создать git или mercurial репозиторий внутри каталога, который синхронизируется с помощью unison.

С унисон вы можете синхронизировать централизованно с помощью вашего сервера или непосредственно между устройствами. Я использую его для обычных файлов и нескольких репозиториев git с тремя устройствами в течение одного года, и это очень надежно. (В отличие от ownCloud или SparkleShare)

PS: о SparkleShare: даже не подумайте об его использовании. Он почти всегда не разрешает конфликты, плохо обрабатывает двоичные файлы, исчерпывает память и вылетает в средах с низкой оперативной памятью с большими репозиториями и случайным образом использует 100% ЦП до ручного разрешения конфликтов с базовым репозиторием git.

1

Я бы сказал, что git - достойный вариант. Если вы можете редактировать из нескольких мест и по-прежнему иметь последние версии. И контроль версий является дополнительным преимуществом, если вам нужно откатить обратно версию.

Если у вас есть клон репо, то при загрузке git pull будут загружаться только обновленные биты, что позволит сэкономить время / пропускную способность по сравнению с некоторыми опциями.

При этом для linux есть dropbox и самопрокатные drop box.

1

Git - хороший вариант и обеспечивает контроль версий, который вы хотели.

Если вы хотите что-то более похожее на Dropbox, BitTorrent Sync может быть ответом. У него нет центрального сервера.

0

Это просто кричит Dropbox или Google Docs для меня. Если вам не нравятся ваши данные на серверах Google, есть такие службы синхронизации, как OwnCloud, которые используют ваши собственные серверы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .