Есть ли решение для среды Windows, которое обеспечило бы двустороннюю централизованную синхронизацию между ПК? В нашей лаборатории есть несколько компьютеров, на которых нам нужно автоматически синхронизировать файлы, одновременно выполняя резервное копирование файлов на централизованный сервер.
Мы делаем 3D-анимацию в моем офисе, и у нас возникла проблема, заключающаяся в том, что на каждой машине нужен один и тот же набор файлов для выполнения рендеринга. Решение, которое нам подходит, это Microsoft Live Sync.
После настройки каждый раз, когда добавляется новый файл, он перемещается в реальном времени на все другие компьютеры, которые совместно используют папку.
Я также использую его для синхронизации музыки и фотографий на моих домашних компьютерах.
Проблема с наличием двух одинаковых файлов в разных местах заключается в том, что если обе версии изменяются одновременно, вы можете столкнуться с конфликтом, когда они попытаются синхронизировать обратно. Если они не используются только для чтения, тогда будет работать центральный сервер. Вы не сказали, если это файлы типа документа или системы, например, после автоматической сборки, которые синхронизируются.
Тем не менее, у вас есть несколько вариантов.
Если синхронизируются документы, то автономные файлы, скорее всего, будут делать то, что вы хотите. Настройте «общий» диск, который все будут подключать к серверу, убедитесь, что вы настроили повторное подключение при следующем входе в систему. Щелкните правой кнопкой мыши и выберите параметр «Сделать доступным в автономном режиме». Теперь будет настроен локальный кеш файлов, находящихся в общей папке с сервера. Когда кто-то работает с файлом, он работает с локальной копией на своем сервере, при выходе из системы он повторно синхронизирует файл с сервером с обновлением, а также загружает все новые обновленные файлы. Вы также можете настроить синхронизацию при входе в систему и заставить пользователя запускать ее вручную. Это будет выглядеть так, как будто они работают на общем диске сервера, но на самом деле они работают с локальным кешем. На сервере вы должны настроить отдельную программу для резервного копирования общего диска на удаленное место по вашему выбору ежедневно, ежечасно и т. Д. По мере необходимости. Мне нравится этот метод, поскольку он позволяет пользователям портативных компьютеров сохранять при себе копии файлов, когда они отключены. Обратной стороной является логин, поэтому файлы, которые он синхронизирует, будут находиться только под учетной записью этого пользователя.
Другой вариант - использовать программу резервного копирования, такую как Cobian backup (бесплатно), которая работает как служба. Вы можете либо настроить его на сервере, а затем иметь задания по отправке файлов на тестовый ПК с сервера. Или установите его на каждый тестовый ПК и попросите их снять с сервера. Потребуется немного поиграться, но он должен делать то, что вам нужно, включая двухстороннюю синхронизацию. У него также есть планировщик, поэтому он не будет в реальном времени. Вы также можете запускать с помощью командного файла, поэтому, если это был сервер, выталкивающий все, один командный файл мог запускать push для выполнения заданий, которые затем могли обновлять все. Если вы делаете это в конце процесса сборки, просто пусть процесс сборки запускает командный файл.
Вы рассматривали файловый сервер и пакетный сценарий?
Паз должен сделать свое дело. Я не использовал его с тех пор, как он был куплен MS, но предыдущая версия 3.1 синхронизировала файлы между компьютерами, даже когда они были в сети и вне сети, как ноутбук. В следующий раз, когда ноутбук найдет Интернет, он обновится и синхронизируется с другими компьютерами.
Если вы хотите использовать cygwin, тогда Унисон должен сделать свое дело.
Я могу чего-то полностью упустить, но что плохого в том, что файлы находятся в общей сетевой папке? При правильной настройке файлы будут доступны с любого компьютера, и их будет легко создавать резервные копии. Не нужно усложнять что-то простое.