Как восстановить резервные копии 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