Автоматически выполнять двустороннюю синхронизацию двух каталогов

17

Я хотел бы сделать двустороннюю автоматическую синхронизацию между папками Directory Aи Directory B. Это означает, что всякий раз, когда файл в Directory Aодном из его подкаталогов или один из них изменяется, это изменение немедленно применяется к нему Directory B, и всякий раз, когда файл в Directory Bодном или его подкаталогах изменяется, это изменение немедленно применяется к нему Directory A. Таким образом, эти два каталога будут полностью идентичны, включая свойства документа. Как мне этого добиться?

Я использую Ubuntu 16.10.

Симлинки не вариант.

Georgelemental
источник
@ dadexix86 Если изменения , внесенные в Directory Aприкладывается к Directory B, это модифицирует файл в Directory Bили создает новый. Но это изменение не может быть применено обратно, так Directory Aкак эти два каталога уже идентичны. Вы не можете изменить файл, не изменяя его.
Georgelemental
1
Если это по причинам резервного копирования, будьте предельно осторожны при реализации этого (возможно, cron + rsync?), Потому что если вы случайно удалите файл в одном каталоге, он будет удален из другого - так что вы также потеряли резервную копию.
Карл Х
mv B B.old && ln-s A Bзнак равно Если вы хотите, чтобы от A до == B, просто сделайте ссылку от A до B. В противном случае используйте rsync от A до B или, возможно, лучше всего, какой-нибудь контроль версий.
Пантера
2
используйте ссылку cyberciti.biz/faq/creating-soft-link-or-symbolic-link
Panther
1
Синхронизация @CarlH никогда не является резервной копией ;-)
Rinzwind

Ответы:

10

унисон

Unison - это графический интерфейс пользователя и инструмент, основанный на терминалах, который позволяет синхронизировать файлы и каталоги между собой, между различными локальными каталогами и дисками или в сети, которая может находиться в разных операционных системах. Приложение доступно для операционных систем Unix (Linux и Mac OS X) и Windows. Изменения могут быть сделаны в разных местах, и Unison обновит машины правильными версиями файлов и папок, копируя, удаляя, переименовывая или удаляя файлы и каталоги по мере необходимости.

Приложение Unison Sync является, вероятно, наиболее используемым и заслуживающим доверия сообществом Ubuntu / Debian. Он доступен в Центре программного обеспечения и в менеджере пакетов. Он имеет командную строку и графический интерфейс пользователя (GUI) (GTK).

Домашняя страница Унисон

Сообщество помощи Ubuntu Wiki - Unison

Руководство по Ubuntu - Unison

Краткий пример использования, близкий к вашему запросу, можно найти в ответе Rmano (скриншот ниже).

введите описание изображения здесь

FreeFileSync

FreeFileSync - это бесплатная программа для резервного копирования данных, которая помогает синхронизировать файлы и папки. Он разработан, чтобы сэкономить ваше время на настройку и запуск резервного копирования данных, одновременно обеспечивая приятную визуальную обратную связь. FreeFileSync - это программное обеспечение с открытым исходным кодом, доступное для Windows, Linux и macOS.

Я никогда не пробовал, но, похоже, стоит попробовать. Он имеет графический интерфейс по умолчанию и находится в стадии активной разработки.

Домашняя страница FreeFileSync

введите описание изображения здесь

Synkron

Synkron - это приложение, которое помогает вам постоянно обновлять файлы и папки. Вы можете легко синхронизировать документы, музыку или изображения, чтобы их последние версии были везде. Synkron предоставляет простой в использовании интерфейс и обладает множеством функций. Более того, он бесплатный, с открытым исходным кодом и кроссплатформенный.

Синкрон Домашняя страница

введите описание изображения здесь

Фелипе Г.М. Майя
источник
1
Унисон доступен в репозиториях Ubuntu. apt-get install
unison
3

В течение долгого времени я использовал rsync для синхронизации моих ноутбуков (2) и 3-го компьютера, затем я попытался синхронизировать их, но сегодня утром известный поисковик предложил мне этот проект:

Зеркало

Вы также найдете сравнение различных решений.

Его основным аргументом против rsync являются: не в режиме реального времени и не официально два пути.

PS: Я использую его через ноль, поэтому моя машина всегда может общаться вместе.

JOduMonT
источник
1

Я бы порекомендовал synkronинструмент. Это приложение с открытым исходным кодом, доступное для Linux (и других ОС). Более поздняя копия файла обновляется по папкам на основе отметки времени. Частота синхронизации определяется пользователем.

Для установки вы должны собрать его, который требует Qt 4.3 или более поздней версии.

Проверьте страницу sourceforge ( synkron на sourceforge ), чтобы загрузить и установить детали.

Преимущества перед rsync+cronдругими простыми подходами:

  • Создается временная резервная копия, которая сохраняется в течение определенного периода времени.
  • Возможность не распространять удаления.
  • Несколько папок могут быть связаны в качестве мастера или конфигурации подчиненного мастера.

Страница проекта - страница Synkron / Документация - Документация Synkron

ankit7540
источник
0

Я опаздываю на этот вопрос: для выполнения этой задачи часто в одних и тех же папках существует Synchrorep .

Себастьян Кус
источник