Как восстановить резервные копии svn hotcopy

Наш текущий процесс резервного копирования делает SVN HOTCOPY каждую ночь, в место резервного копирования на другой машине. Могу ли я каким-то образом восстановить эту резервную копию и сохранить всю историю изменений? Или мне нужно использовать svn dump/load?

Спасибо, Chandrajeet

Ответ 1

"svnadmin hotcopy" фактически копирует весь репозиторий в другое место. Копия неотличима от исходного репозитория и фактически может использоваться как репозиторий. Таким образом, вы должны иметь возможность скопировать результаты svnadmin hotcopy обратно в местоположение вашего репозитория и иметь абсолютно корректный восстановленный репозиторий.

Преимущество hotcopy над обычной копией файловой системы заключается в том, что он уважает механизм блокировки Subversion.

Ответ 2

В рамках ежедневного резервного копирования вы можете запустить svnadmin verify <REPOSITORY>

Вы можете либо проверить оригинал, либо hotcopied.

Определенно сделайте это перед восстановлением из резервной копии.

Ответ 3

Я бы сделал намного больше, а затем просто запускал hotcopy каждую ночь. Я бы использовал "svnadmin dump", чтобы создать историю изменений в файл дампа, который можно восстановить в рабочем репозитории.

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

Ответ 4

Возможно, вы хотите изучить мой ответ на аналогичный вопрос: Восстановить резервные копии SVN из нескольких файлов

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

Проблема с дампами: они очень трудоемки для создания и воспроизведения.

Также, если вы используете скрипты hook, они будут включены в вашу hotcopy, но они не будут находиться внутри ваших дампов.

Thats said Я бы рекомендовал комбинацию hotcopy и per-commit dump