Как мне синхронизировать две папки в реальном времени в Windows 7?
Я хочу синхронизировать две папки в режиме реального времени под Windows 7.
По сути, я хочу отслеживать папку и синхронизировать каждое изменение (новые файлы, измененные файлы, удаленные файлы) на другом диске. Это должно быть в режиме реального времени, поэтому он синхронизируется мгновенно, когда происходит изменение. Однонаправленной синхронизации достаточно.
Я попробовал Microsoft SyncToy, но она выполняет синхронизацию только вручную или по расписанию (таким образом, не удовлетворяя требованию "в реальном времени").
Можно ли этого добиться с помощью самой Windows 7? Если нет, есть ли другие способы сделать это?
17 ответов
Dsynchronize позволяет вам сделать это. Я не уверен, как это работает в Windows 7, но это бесплатное и автономное приложение, так что попытка не повредит.
Я использую команду 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.
Есть Synkron с открытым исходным кодом и кроссплатформенный.
Вы можете использовать символическую ссылку NTFS, чтобы папки на каждом диске фактически указывали на одну и ту же папку.
Поскольку я прочитал ваш комментарий "... подключенный диск (цель синхронизации) - это Linux", то я хочу дать вам лучший подход: вам нужен только ssh-доступ к цели Linux, он намного быстрее и работает намного лучше по более низкой пропускной способности и большим задержкам.
Используйте функцию WinSCP" Держите удаленный каталог в актуальном состоянии"!
Вам нужно будет немного настроить параметры передачи, чтобы всегда устанавливать двоичные файлы, исключать файлы (обычно файлы svn или git и т. П.) И т. Д. Также используйте "автоматическое применение" параметров передачи. Также создайте сеанс, в котором настроены хост, локальные и удаленные каталоги. В этот момент вам нужно всего лишь открыть WinSCP, активировать сеанс (который затем также автоматически применяет параметры передачи, например, из-за соответствия хоста), и нажать кнопку постоянно обновлять.
Или вы можете написать это с помощью скриптов WinSCP!
.. и просто кстати: если сценарий был Unix-to-Unix, то проверьте этот вопрос.
Ниже приведены некоторые инструменты для синхронизации папок в режиме реального времени, отметьте каждую из них и выберите одну по вашему требованию.
Я пробовал довольно много программ, и единственные, которые выполняют зеркалирование папок в реальном времени:
- Yadis! Резервное копирование (программа еще не упомянута здесь)
- Dsynchronize (программа, выбранная в качестве ответа)
Лично мне нравятся Yadis! Бекап лучше. Он имеет больше возможностей, чем Dsynchronize. Вы можете включить управление версиями, количество версий, какие операции с файлами отслеживать, и я уверен, что это намного больше. Кроме того, он имеет лучший графический интерфейс, который выглядит более изысканным.
Если вы хотите синхронизировать папку с USB и уже используете Dropbox, используйте DropboxPortableAHK.
Таким образом, мои файлы Dropbox синхронизируются на любом компьютере, а также на моем iPhone с помощью приложения Dropbox и USB-накопителя, который я использую в универе с этой портативной версией.
Другой очень надежный способ синхронизации папок - это использование rsync
в командной строке. Вам придется скачать набор инструментов MingW или, если вы установите cwRsync, он установит rsync.exe, который вы можете запустить напрямую.
Все, что вам нужно, это команда:
rsync -r source_path destination_path
Флаг -r является рекурсивным для всех вложенных папок.
В Windows (7) путь должен быть указан в следующем формате. Например указать c:\test
это будет /c/test
или же /cygdrive/c/test
Это самый эффективный, быстрый и мощный способ синхронизации папок с большими файлами, хотя Dsynchronize в принятом ответе также работал для меня.
Это не живое или реальное время, хотя. Каждый раз, когда вам нужно синхронизировать, вы будете запускать эту команду.
Может быть, этот поможет вам: Allway Sync. Есть бесплатная * и про версия. Особенности:
- Гибкая настройка и настройка.
- Поддерживает файлы любого размера.
- Простой в использовании графический интерфейс.
- Поддерживает практически любую файловую систему (FAT, NTFS, SAMBA, Netware, X-Drive, CDFS, UDF и другие).
- Может быть установлен на рабочий стол, ноутбук, USB-накопитель, внешний жесткий диск или устройство с поддержкой U3.
- Возможность синхронизации более 2-х папок.
- Синхронизация данных между настольными ПК и ноутбуками по сети
Я использовал эту программу, и мне понравилось.
* - бесплатная версия имеет лимит файлов, обрабатываемых каждые 30 дней. См. Allway Sync Лицензионное соглашение с конечным пользователем
Я понимаю, что этот ответ немного запоздал, но некоторым может быть интересно попробовать Syncthing, который обеспечивает синхронизацию файлов практически в реальном времени.
Я написал для него установщик Windows, который позволяет устанавливать для всех пользователей (устанавливается как служба) или для текущего пользователя (добавляет задачу входа в планировщик задач, чтобы запустить ее при входе в систему):
Вы можете попробовать SyncBack4all, это программа для синхронизации папок и файлов в реальном времени.
Watch 4 Folder v2.3 - небольшой (802kb), портативный (без установки) и мощный инструмент мониторинга для отслеживания активности папок и файлов.
Он прост в использовании и настройке, он может отслеживать 15 типов событий и запускать различные действия в случае возникновения события.
http://leelusoft.blogspot.in/2011/10/watch-4-folder-23.html
-При использовании его на сервере, запуск нескольких файлов exe - преобразование в PDF с использованием Acrobat, печать их, отправка в виде вложений в офисы по всей стране с помощью вызовов SMTP... мало программного обеспечения делает много вещей!!
Я нашел FreeFileSync (с открытым исходным кодом - но следите за рекламным ПО при установке) лучшим.
Мне также очень нравится Backup2 ( https://bvckup2.com/) для более крупных задач, так как он работает быстрее всего из протестированных мною, но он не бесплатный и предназначен только для односторонней синхронизации.
Я хотел того же. И в принципе Центр синхронизации в Windows7 обеспечит это, но по-другому: вам нужно только установить сетевую папку как Всегда доступную в автономном режиме. При этом у вас в основном синхронизируется локальная и удаленная версии, вы работаете так, как если бы вы были в сети, но на самом деле это удается сделать локально. Другими словами, вы видите только одну копию, но имеете ее в двух местах, но это цель синхронизации. Вместо того, чтобы быть прозрачным, что существует удаленно синхронизированная копия, существует локально синхронизированная копия. В любом случае это покрывает основную цель сбоев сети.
Я должен сказать, что это теория, потому что я застрял, так как мои сетевые диски управляются Novel, и поэтому у меня нет опции "Всегда доступно в автономном режиме".
Я использую бесплатную синхронизацию https://code.google.com/p/big5sync/
он подключается к системе и, если в бесшовном режиме, синхронизировать файлы в режиме реального времени. Не могу запустить как сервис, лично не люблю GUI, но он работает:)
MirrorFolder http://www.techsoftpl.com/backup/ также может выполнять синхронизацию в реальном времени и работает как служба (для загрузки не требуется графический интерфейс), но она не бесплатна ($39)
Вы можете назначить путь к папке на диске с помощью Sub.
Код:
SUBST L: "C:\Some\Path"