Методы межплатформенной синхронизации файлов
В сети с несколькими операционными системами, содержащей разные версии клиентов Windows (Win98, NT, Windows 7) и файловый сервер Linux, я хотел бы синхронизировать папки.
Есть два ограничения:
1) Каждый клиент должен синхронизироваться с определенной папкой на сервере, но клиенты не должны синхронизироваться между собой из-за ограничений дискового пространства.
Server -+- SyncFolder for Client A <---> Folder_X on Client A
|
+- SyncFolder for Client B <---> Folder_Y on Client B
В приведенном выше примере клиент A и клиент B не синхронизируются.
2) НЕТ подключения к Интернету, поэтому Dropbox не может быть использован, кроме настроек частного облака, таких как Owncloud.
Какие есть решения?
Изменить: идеальное решение будет мгновенно синхронизировать, как Dropbox или аналогичные инструменты и не требует взаимодействия с пользователем.
3 ответа
Если вы предпочитаете использовать один инструмент на всех платформах, вы можете настроить https://launchpad.net/sucsynct для работы с win-bash или cygwin в Windows.
Все, что вам нужно сделать, это найти программу (ы) для синхронизации Windows, которая работает на всех версиях, которые у вас есть. Я лично использовал InSync на всех из них, но текущая версия может больше не поддерживать ничего до NT - хотя они могут захотеть предоставить вам старую версию. У них также есть лицензирование сайта.
У Microsoft есть бесплатная утилита SyncToy, но, опять же, я не думаю, что она поддерживает Win98.
Что вы подразумеваете под: "1) Каждый клиент должен синхронизироваться с определенной папкой на сервере, но клиенты не должны синхронизироваться между собой из-за ограничений дискового пространства".
Слово "синхронизация" расплывчато. Существует как минимум три возможных толкования термина:
Синхронизация "только по запросу", что означает, что клиент отправляет свои данные на сервер, но не загружает данные с сервера.
Синхронизация "только по запросу" означает, что клиент загружает свои данные на сервер, но не передает свои локальные изменения на сервер.
"Двухсторонняя" синхронизация, которая представляет собой комбинацию 1 и 2 в сочетании с некоторыми правилами объединения или разрешения конфликтов, когда файлы с одинаковым именем передаются или извлекаются.
Если вы хотите только push, вы можете просто использовать что-то простое, например, FTP или SCP (десятки доступных клиентов и серверов на всех основных платформах) и передавать данные на сервер, игнорируя то, что находится на сервере.
Если вы хотите синхронизировать только определенные файлы в соответствии с определенными правилами, это, по сути, двусторонняя синхронизация "с правилами". Хотя ваши правила могут быть произвольно сложными правилами, такими как загрузка файлов только тогда, когда Луна ровно наполовину полна в 12:07 утра над Уругваем в годы, оканчивающиеся на "5", базовая поддержка часто ожидаемых правил доступна в "rsync". программа. См. http://linux.byexamples.com/archives/305/filter-what-to-backup-with-rsync/