В сети SE было задано много вопросов об использовании rsync в Windows. Но, похоже, ничего не помогает, поэтому я хотел бы раскрыть конкретный механизм, который мне нужно настроить.

Допустим, у меня есть жесткий диск USB, который содержит всю мою жизнь (ну, нет, у меня есть RAID и NAS, но мы на самом деле не говорим обо мне).

Я использую этот HD все время, добавляя, редактируя, удаляя файлы из него.

С другой стороны, у меня есть второй жесткий диск (той же емкости), который подключен к моему ПК (Windows 8.1). Второй HD - это клон первого, который я сделал с помощью rsync с моего Ubuntu Live DVD.

Ну, очевидно, это было синхронизировано однажды, а теперь уже нет.

Вы видите, куда я иду ... Я хочу синхронизировать первый (съемный) HD на втором HD каждый раз, когда я подключаю его к своему ПК.

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

Я думаю, я могу что-то исправить, чтобы вызвать запуск самодельной программы, спрашивая меня, не хочу ли я начать резервное копирование всякий раз, когда я подключаю первый диск (например, обнаружение UUID).

Проблема в синхронизации части. Мне не нужно решение клиент / сервер. Просто инструмент для синхронизации файлов между двумя локальными дисками.

Я наткнулся на множество программ, которые выглядят ... в лучшем случае нестабильными. Все они используют порт Cygwin библиотеки rsync, который кажется ошибочным, или заново реализовали весь алгоритм rsync для окон.

Я действительно не знаю, чего они стоят, но у меня плохое предчувствие по этому поводу.

Чего я хочу добиться, это чертовски просто (верно?) или, по крайней мере, это очень распространенная потребность. Я не могу поверить, что рутина еще не придумана. Это безумие.

Я ничего не знаю о разработке Windows. Я webdev и знаю о системном администраторе Unix/Linux. Я готов потратить время на это, но не в одиночку. Мне нужны указания, прежде чем я начну бездельничать.

Я думал о программном RAID, кстати ...? Ну, я даже думал, что буду использовать GIT на секунду, так что ...

2 ответа2

1

Я (вероятно) автор вопроса, который вы цитируете в своем вступлении. После года я все еще не нашел истинного решения для этого, и поэтому я все еще полагаюсь на Cygwin и некоторую партию магии.

Самое близкое, что я пришел с нативным решением, с Allway Sync:

  • он имеет автоматическую синхронизацию (одно- и даже двухстороннюю) и привязку UUID.
  • Он не соответствует rsync только одним способом: он не выполняет дельты, поэтому если вы измените один бит в конце дампа SQL объемом 200 ГБ, он просто скопирует весь файл. Это не большая проблема для локальных синхронизаций, таких как ваша, но это боль в сети.
0

Я использую bvckup2 для этого. Это не бесплатно (хотя последняя бета-версия все еще доступна - и она имеет дельта-копию). Я использую это так же, как вы описали.

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .