Как мне синхронизировать две папки в реальном времени в Windows 7?


153

Я хочу синхронизировать две папки в режиме реального времени под Windows 7.

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

Я попробовал Microsoft SyncToy , но она выполняет синхронизацию только вручную или по расписанию (таким образом, не удовлетворяя требованию «в реальном времени»).

Можно ли этого добиться с помощью самой Windows 7? Если нет, есть ли другие способы сделать это?


1
Связанный вопрос: superuser.com/questions/349/…
— koppor

Я только начал использовать allwaysync - работает как шарм
— Hugo Forte

1
Хорошая вещь об использовании чистого решения для Windows состоит в том, что в windows api есть события, которые вы можете подключить, чтобы получить событие, когда что-то меняется, что гораздо менее подвержено ошибкам, чем сканирование файлов / каталогов, как это делают некоторые инструменты с открытым исходным кодом.
— Келли Элтон

Никогда не пробовал это программное обеспечение, но выглядит многообещающим. techsoftpl.com/backup/index.php
— Моав

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

Ответы:


91

Dsynchronize позволяет вам сделать это. Я не уверен, как это работает в Windows 7, но это бесплатное и автономное приложение, так что попытка не повредит.


4
Спасибо! Я попробовал это, и это работает как шарм, работает безупречно на Windows 7.
— Acme

1
Я управляю этим уже почти год. Он работает довольно хорошо, хотя он не синхронизируется правильно, если большое количество файлов изменяется в течение нескольких минут (например, при распаковке или извлечении репозитория). Но так как я не нашел что-то лучшее, я все еще буду придерживаться этого.
— акме

1
Это отличный инструмент, но когда я сопоставил папку самбы Linux на диске Z: с помощью команды net use файлы не могут быть синхронизированы из локальной папки Windows с Z :, он сообщает «Ошибка прав доступа», кто-нибудь встречал это раньше?
— Кельвин Ху

2
После загрузки файла Dsynchronize.zip по ссылке в этом ответе 360 Internet Security пометила его как имеющий следующий риск: «Троян (HEUR / QVM11.1.Malware.Gen)». 57 голосов заставляют меня думать, что троян, возможно, является недавним дополнением (или ложным срабатыванием), но попробовать не стоит. Извините, что пришлось понизить голос, но «не пытаться вредить» больше не кажется применимым.
— Кевинмике

1
@kevinmicke - я проверил самую последнюю версию, и она выглядит помеченной virustotal.com
— jchavannes

31

Я использую команду ROBOCOPY и создал командную строку для синхронизации между двумя папками (инкрементная синхронизация), моя команда такая

ROBOCOPY "Source_Folder" "Destination_Folder" /E /ZB /XJ /XF "~*.*" "*~.*" "desktop.ini" "Thumbs.db" "*.torrent" ".lock" ".Sync*" /xd "Rubbish" ".Sync*" ".Box Sync" "_private" "Outlook Files" /FFT /MT /R:2 /W:5 /V /MON:1 /TEE

(исключить файлы:) "~*.*" "*~.*" "desktop.ini" "Thumbs.db" "*.torrent" ".lock" ".Sync*"(исключить папки, включая файлы в этих папках:) "Rubbish" ".Sync*" ".Box Sync" "_private" "Outlook Files"Также это повторяется каждую минуту и ​​/ или разовое изменение файла / папки.

С уважением, Ризван.

ФЛАГИ

/E      Copy subdirectories, including empty ones.
/ZB     Use restartable mode; if access denied use backup mode.
/XJ     Exclude junction points. (normally included by default).
/FFT    Assume FAT file times (2-second granularity).
/MT     Do multi-threaded copies with 8 threads.
/R:2    Number of retries on failed copies.
/W:5    Wait time between retries.
/V      Produce verbose output, showing skipped files.
/TEE    Output to console window, as well as the log file.
/MON:1  Monitor source; run again when more than 1 change seen.

/XF [files]  Exclude files matching given names/paths/wildcards.
/XD [dirs]   Exclude directories matching given names/paths.

1
Работает, и работает хорошо, за исключением всего окна команды на моем экране. Я знаю, что есть способы запустить его в фоновом режиме или обслуживать его, и я проверю их.
— music2myear

Для справки /MON:1контролирует источник и повторно запускает копию, если есть 1 или более изменений, и /MOT:1означает мониторинг источника и повторно запускается через 1 минуту, если там, где изменения. Я думаю, этого /MON:1достаточно.
— ecerulm

Вы можете "обслуживать" команды с помощью NSSM: nssm.cc
— Benj

Это действительно в реальном времени, если вы должны иметь его раз в минуту?
— Трипп Кинетикс

/ MON не удалит файлы, если они будут удалены из источника. Для этого вы можете добавить / PURGE в конец, чтобы получить эквивалентную функциональность для / MIR с мониторингом.
— Шейн

21

Есть Synkron с открытым исходным кодом и кроссплатформенный.


1
Но синхронизируется ли он в реальном времени?
— Acme

Не похоже на это :(
— jonathanconway

3
Это то, что просто нужно. Мне не нужно, чтобы он работал в режиме реального времени, но, как и глубина опций, которые предоставляет этот инструмент, создание расписания работает просто отлично. Этот инструмент поддерживает синхронизацию каждую 1 минуту, что очень близко к реальному времени!
— cracked_all

Как использовать подстановочные знаки для папок черного списка?
— Один

18

Вы можете использовать символическую ссылку NTFS, чтобы папки на каждом диске фактически указывали на одну и ту же папку.


Это интересный подход, но я предполагаю, что он не сработает, подключенный диск (цель синхронизации) - Linux.
— акме

2
Вы можете создать символическую ссылку NTFS на путь Samba, у меня на рабочем столе есть несколько ссылок на мой файловый сервер Ubuntu.
— Крис Смит

5
Это решение может подойти, если вам не нужна физическая репликация данных.
— vegatripy

4
Не полностью заполняет мою потребность копировать файлы с оперативного диска обратно на SSD.
— Майк де Клерк

Это не будет работать для удаления. Т.е. если вы удалите всю папку символической ссылки, оригинал останется нетронутым.
— Джиггунджер

15

Поскольку я прочитал ваш комментарий "... подключенный диск (цель синхронизации) - это Linux", то я хочу дать вам лучший подход: вам нужен только ssh-доступ к цели Linux, он намного быстрее и работает намного лучше по более низкой пропускной способности и большим задержкам.

Используйте функцию WinSCP « Держите удаленный каталог в актуальном состоянии »!

Вам нужно будет немного настроить параметры передачи, чтобы всегда устанавливать двоичные файлы, исключать файлы (обычно файлы svn или git и т. П.) И т. Д. Также используйте «автоматическое применение» параметров передачи. Также создайте сеанс, в котором настроены хост, локальные и удаленные каталоги. В этот момент вам нужно всего лишь открыть WinSCP, активировать сеанс (который затем также автоматически применяет параметры передачи, например, из-за соответствия хоста), и нажать кнопку постоянно обновлять.

Или вы можете написать это с помощью скриптов WinSCP!

.. и просто кстати: если сценарий был Unix-to-Unix, то проверьте этот вопрос .


Спасибо! Я посмотрю на это, звучит как хорошая идея.
— Acme

-1 Извините, только что удалили весь мой каталог из-за этого паршивого инструмента синхронизации. ОЧЕНЬ ПЛОХОЙ ИНСТРУМЕНТ.
— Пони

1
Я думаю, что это слишком сложно из-за желания просто синхронизироваться.
— Менелаос Бакопулос

3
@Poni: Ты тоже можешь порезаться ножом. Это не инструмент, который виноват здесь, чувак! :-D
— stolsvik

1
@meewoK: он попросил синхронизацию в реальном времени и упомянул, что целью является Linux-box. Я обнаружил, что samba-решение (монтирование Linux на Windows) - это ПУТЬ для замедления медленных линий, в то время как SCP-решение быстрое. Использование WinSCP было единственным вариантом, который, как я обнаружил, удовлетворял мои собственные потребности, и это довольно хорошо. Я хотел поделиться этим. Настроить начальную синхронизацию очень просто: просто наведите левую сторону на локальную, войдите в систему и перейдите на удаленный с правой стороны, а затем нажмите на синхронизацию. Кроме того, я просто упомянул пару дополнительных функций, которые ускоряют настройку, что может усложнить ситуацию.
— stolsvik

8

Ниже приведены некоторые инструменты для синхронизации папок в режиме реального времени, отметьте каждую из них и выберите одну по вашему требованию.

  1. FreeFileSync
  2. AllwaySync
  3. SyncBack Free
  4. Synkron
  5. Синхронизатор файлов
  6. PureSync
  7. GoodSync

«Клиент соглашается с тем, что Allway Sync Free имеет определенные ограничения и что эти ограничения могут меняться со временем без уведомления или обязательств со стороны разработчика. В настоящее время ограничения могут не позволять заказчику обрабатывать более 40 000 файлов в течение любых последующих 30 дней». - Лицензия Allway Sync: allwaysync.com/license
— Эшли Росс

7

Я пробовал довольно много программ, и единственные, которые выполняют зеркалирование папок в реальном времени:

Лично мне нравятся Yadis! Бекап лучше. Он имеет больше возможностей, чем Dsynchronize. Вы можете включить управление версиями, количество версий, какие операции с файлами отслеживать, и я уверен, что это намного больше. Кроме того, он имеет лучший графический интерфейс, который выглядит более изысканным.


1
Yadis! Резервное копирование великолепно: обновление в реальном времени происходит быстро, дружественный интерфейс, множество опций и никакого трояна. Как я прокомментировал принятый ответ, после загрузки Dsynchronize.zip по ссылке в этом ответе 360 Internet Security пометил его как имеющий следующий риск: «Троян (HEUR / QVM11.1.Malware.Gen)».
— Кевинмике

4

Если вы хотите синхронизировать папку с USB и уже используете Dropbox, используйте DropboxPortableAHK .

Таким образом, мои файлы Dropbox синхронизируются на любом компьютере, а также на моем iPhone с помощью приложения Dropbox и USB-накопителя, который я использую в универе с этой портативной версией.


Мертвая ссылка. Похоже,
— JYelton

И полностью отказаться от своей конфиденциальности, имея важные документы в системе, которая была скомпрометирована много раз.
— Менелаос Бакопулос

1

Другой очень надежный способ синхронизации папок - использование rsyncв командной строке. Вам придется скачать набор инструментов MingW или, если вы установите cwRsync, он установит rsync.exe, который вы можете запустить напрямую.

Все, что вам нужно, это команда:

rsync -r source_path destination_path

Флаг -r является рекурсивным для всех вложенных папок.

В Windows (7) путь должен быть указан в следующем формате. Например, чтобы указать c:\testэто будет /c/testили/cygdrive/c/test

Это самый эффективный, быстрый и мощный способ синхронизации папок с большими файлами, хотя Dsynchronize в принятом ответе также работал для меня.

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


1

Может быть, этот поможет вам: Allway Sync . Есть бесплатная * и про версия. Функции:

  • Гибкая настройка и настройка.
  • Поддерживает файлы любого размера.
  • Простой в использовании графический интерфейс.
  • Поддерживает практически любую файловую систему (FAT, NTFS, SAMBA, Netware, X-Drive, CDFS, UDF и другие).
  • Может быть установлен на рабочий стол, ноутбук, USB-накопитель, внешний жесткий диск или устройство с поддержкой U3.
  • Возможность синхронизации более 2 папок.
  • Синхронизация данных между настольными ПК и ноутбуками по сети

Я использовал эту программу, и мне понравилось.

* - бесплатная версия имеет лимит файлов, обрабатываемых каждые 30 дней. См. Allway Sync Лицензионное соглашение с конечным пользователем


1
«Клиент соглашается с тем, что Allway Sync Free имеет определенные ограничения и что эти ограничения могут меняться со временем без уведомления или обязательств со стороны разработчика. В настоящее время ограничения могут не позволять заказчику обрабатывать более 40 000 файлов в течение любых последующих 30 дней». - Лицензия Allway Sync: allwaysync.com/license
— Эшли Росс

Я использую Resilio Sync, и он отлично работает, особенно в сетях. Он также синхронизируется довольно быстро, но недостаточно быстро для веб-разработки. У меня есть виртуальная коробка с общей папкой, которую мне нужно синхронизировать с локальной папкой, которая является корнем веб-сайта. Я попробую Allway Sync. Его интерфейс довольно прост, по крайней мере.
— Крис Гейрман

0

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


1
За исключением того, что это не бесплатно.
— Пайя

0

Watch 4 Folder v2.3 - небольшой (802kb), портативный (без установки) и мощный инструмент мониторинга для отслеживания активности папок и файлов.
Он прост в использовании и настройке, он может отслеживать 15 типов событий и запускать различные действия в случае возникновения события.

http://leelusoft.blogspot.in/2011/10/watch-4-folder-23.html

-При использовании его на сервере, запуск нескольких файлов exe - преобразование в PDF с использованием Acrobat, печать их, отправка в виде вложений в офисы по всей стране с помощью вызовов SMTP ... мало программного обеспечения делает много вещей !!


0

Я хотел того же. И в принципе Центр синхронизации в Windows7 обеспечит это, но по-другому: вам нужно только установить сетевую папку как Всегда доступную в автономном режиме. При этом у вас в основном синхронизируется локальная и удаленная версии, вы работаете так, как если бы вы были в сети, но на самом деле это удается сделать локально. Другими словами, вы видите только одну копию, но имеете ее в двух местах, но это цель синхронизации. Вместо того, чтобы быть прозрачным, что существует удаленно синхронизированная копия, существует локально синхронизированная копия. В любом случае это покрывает основную цель сбоев сети.

Я должен сказать, что это теория, потому что я застрял, так как мои сетевые диски управляются Novel, и поэтому у меня нет опции «Всегда доступно в автономном режиме».


Центр синхронизации: windows.microsoft.com/en-au/windows-vista/…
— hB0

0

Я использую бесплатную синхронизацию https://code.google.com/p/big5sync/

он подключается к системе и, если в бесшовном режиме, синхронизировать файлы в режиме реального времени. Не могу запустить как сервис, лично не люблю GUI, но он работает :)

MirrorFolder http://www.techsoftpl.com/backup/ также может выполнять синхронизацию в реальном времени и работает как служба (для загрузки не требуется графический интерфейс), но она не бесплатна ($ 39)


0

Я нашел FreeFileSync (с открытым исходным кодом - но следите за рекламным ПО при установке) лучшим.

Мне также очень нравится Backup2 ( https://bvckup2.com/ ) для более крупных задач, так как он работает быстрее всего из протестированных мною, но он не бесплатный и предназначен только для односторонней синхронизации.


-3

Вы можете назначить путь к папке на диске с помощью Sub.

Код:

SUBST L: "C:\Some\Path"

2
Какая? Как это может привести к синхронизации?
— Twisty Impersonator
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.