Назад | Перейти на главную страницу

Синхронизация с интеллектуальным перемещением и переименованием - windows

Я хочу синхронизировать две папки Windows по беспроводной сети. В настоящее время я использую Syncback, но он не подходит для больших реорганизаций в медленной сети.

то есть, если я перемещаю папку и содержимое из одного места в другое в источнике, тогда синхронизация удалит исходное местоположение в месте назначения и скопирует файлы по сети из источника в новое место назначения. Я хочу переместить таким образом около 100 ГБ данных, и это слишком медленное повторное копирование.

Что мне действительно нужно, так это инструмент, который распознает тот факт, что перемещение произошло в источнике, и выполнит такое же перемещение в пункте назначения без какой-либо передачи по сети.

Такой инструмент существует?

Ура

Репликация Microsoft DFS сделает то, о чем вы говорите. Он отслеживает журнал изменений NTFS и использует уникальные номера файлов для отслеживания переименований / перемещений файлов.

Windows Server 2003 R2 и Windows Server 2008 могут это сделать. Служба репликации DFS включена в Windows Vista, но функция «Синхронизация ПК с ПК», которая использовала бы ее, была вырезана из Vista RTM. Я не вижу, где это когда-либо добавлялось обратно в продукт. (Тот, кто знает об этом больше, чем я, должен прокомментировать это.)

Редактировать:

Вы можете «зафиксировать» свои действия, выполнив начальные перемещения / переименования с помощью сценария, а затем запустив этот сценарий на удаленных машинах. Это неоптимально, но если вы не собираетесь платить за то, что использует журнал изменений файловой системы, вам придется реализовать эту функциональность самостоятельно.

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

Несомненно, кто-нибудь мог бы написать симпатичный маленький графический интерфейс, который «действовал бы» как Explorer и позволял вам выполнять движения / переименовывать / и т.д., а затем генерировал такой скрипт. Хотя, я думаю, это будет довольно нишевое приложение.

Может быть, в этом случае вы можете взглянуть на Easy2sync. Он распознает переименованные каталоги. Возможно, он также разумно обрабатывает большие перемещения файлов. Стоит попробовать.

Есть несколько способов сделать это;

1.) Репликация папок DFS будет работать, есть инструкция Вот и вот веб-страницу MS.

2.) Робокопия в режиме зеркалирования также будет работать, но это не исключает того факта, что файл был изменен. Вот сценарий, который я беззастенчиво скопировал откуда-то (зачем изобретать колесо, а? :), который я использовал при переносе больших объемов данных из одного ресурса в другой. (Большой бонус в том, что он будет выполнять инкрементное зеркальное отображение, то есть запускать его один раз для репликации, затем запускать снова, и он будет копировать только файлы, которые были изменены.

Скрипт:

@ECHO OFF
SETLOCAL

SET _source = "\ workstation01 \ share"

SET _dest = "\ workstation02 \ share"

SET _what = / COPYALL / B / SEC / MIR
:: / COPYALL :: КОПИРОВАТЬ ВСЕ информацию о файле
:: / B :: копировать файлы в режиме резервного копирования.
:: / SEC :: копирование файлов с помощью SECurity
:: / MIR :: MIR Исключить дерево каталогов

НАБОР _options = / R: 0 / W: 0 /LOG:worstation_copy.txt / NFL / NDL
:: / R: n :: количество повторных попыток
:: / W: n :: Время ожидания между попытками
:: / LOG :: Выводить файл журнала
:: / NFL :: Без регистрации файлов
:: / NDL :: Без регистрации каталога

ROBOCOPY% _source%% _dest%% _what%% _options%

3.) Если вы используете HP в крупной корпоративной среде и у вас есть соглашение с поставщиком или что-то еще, проверьте Зеркальное отображение хранилища HP StorageWorks, однако для двух папок Windows это немного тяжеловато.

4.) Наконец, есть также (предупреждение о бета-версии! Предупреждение о бета-версии!) Windows Live Mesh, но это .. Знаешь, бета. :)

Лично я бы выбрал вариант robocopy.

Еще один продукт, который следует рассмотреть, - это Veritas (Symantec) Replication Exec. Возможно, он сможет справиться с этой ситуацией.

Репликация на уровне хранилища - тоже очень хороший вариант, но он будет стоить вам больших долларов.

Раньше у меня был бесплатный инструмент, который ОЧЕНЬ хорошо справлялся с этой задачей, который я скачал и использовал в XP еще в 2003 году, но я потерял имя и программу установки и с тех пор не нашел его. Когда я запускал инструмент в одном режиме, он сидел в лотке и наблюдал за каждым перемещением, удалением, копированием и переименованием проводника, которые я делал в любом месте дерева исходных папок, и реплицировал то же действие в дереве папок назначения. Переименование папки локально привело к переименованию соответствующей папки на сервере и т. Д. Мне это понравилось, и с тех пор я искал ее, но безуспешно. Я только начал изучать "BestSync" (см. download.cnet.com), который обещает аналогичные функции, но является условно-бесплатным, а не бесплатным, хотя у вас есть доступ к его полной функциональности в течение месяца. Он может предоставить вам необходимые функции.

Единственный лучший инструмент для этой работы - RSync, который не только обрабатывает перечисленные вами сценарии, но и очень хорошо обрабатывает дельта-копирование. Я успешно использовал это в очень медленных WANS (беспроводные соединения 512k были нормой) для синхронизации почти 800 ГБ в ночное время.

Если вы можете запустить его в Linux, я бы порекомендовал это, однако, если вам нужно запустить в Windows, вы можете использовать Cygwin который включает в себя Rsync.

Почему бы вам не скопировать его вручную на каждом конце, а затем запустить синхронизацию после того, как все это будет сделано?

Кроме того, единственная вещь, подобная «синхронизации», которая делает то, что вы ищете, - это такие вещи, как программное обеспечение для контроля версий. Я знаю, что Subversion может делать такие вещи, и подозреваю, что git и другие, более новые, тоже могут.

Вы пробовали Windows Live Sync (ранее - с общим доступом)? Я не уверен, о каком количестве файлов вы говорите, но он может синхронизировать до 20 папок по 20 000 элементов в каждой, как по локальной сети, так и через Интернет, между ПК и / или Mac.

http://www.foldershare.com

Я не знаю, можно ли его использовать в медленной сети, так как я использую его только локально или на напрямую подключенных компьютерах для резервного копирования, но вы можете рассмотреть Microsoft SyncToy 2.0 ?

При первом запуске он может быть довольно медленным, но после этого он обнаружит файлы, которые не синхронизированы.

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

Вы можете запланировать его регулярное выполнение с помощью Планировщика задач Windows, я полагаю (я еще не пробовал это).

Привет,

Томас