
В данный момент мы используем Visual SVN и делаем резервную копию всего каталога репозиториев для visual svn. Это делает резервную копию всех данных для каждого репозитория внутри нашего движка svn. Мне интересно, смогу ли я восстановить эти файлы в случае чрезвычайной ситуации или катастрофы? У кого-нибудь из вас есть опыт с этой процедурой восстановления? Спасибо.
решение1
Видеть: http://www.visualsvn.com/support/topic/00012/
Это указывает на следующую документацию:
http://www.visualsvn.com/support/svnbook/reposadmin/maint/#svn.reposadmin.maint.backup
Он описывает использование команд Subversion для создания резервной копии. Надеюсь, вы уже это делаете, потому что создание прямой резервной копии каталога может привести к тому, что репозиторий станет непригодным для использования.
Вы должны иметь возможность использовать резервную копию из Subversion и использовать команду svnadmin dump
или svnadmin hotcopy
для восстановления полного репозитория. Однако, как и в случае с любой стратегией резервного копирования, вы должны самостоятельно протестировать восстановление, чтобы убедиться, что оно работает для вас.
решение2
Начиная с версии VisualSVN Server 3.6, сервер включает в себявстроенное запланированное резервное копирование и восстановление репозиторияфункция. Более того, в релизе 3.6 добавлена запланированная проверка репозиториев SVN.
Настройка запланированного резервного копирования и проверки репозиториев Subversion — это всего лишь вопрос минут. Пошаговые инструкции см. в статьеKB106: Начало работы с резервным копированием и восстановлением.
Если вам нужна одноразовая резервная копия, вы можете использовать Резервное копирование-SvnRepositoryКомандлет PowerShell. Чтобы восстановить репозиторий, используйтеВосстановление-SvnRepository. Эти командлеты резервного копирования доступны, начиная с версии 3.6.
Загрузите последнюю версию VisualSVN Server с сайтаглавная страница загрузки.
Устаревший ответ ниже.
Существует несколько методов резервного копирования репозиториев VisualSVN Server. Ознакомьтесь с кратким описанием ниже.
1. svnadmin hotcopy
инструмент
svnadmin hotcopy
позволяет вам сделать безопасную копию репозитория, независимо от того, используют ли его другие процессы. Вы можете написать пользовательский скрипт, который будет регулярно выполнять резервное копирование ваших репозиториев.
Вы можете ознакомиться со следующей статьей из книги SVN, чтобы узнать больше о резервном копировании репозиториев Subversion:http://www.visualsvn.com/support/svnbook/reposadmin/maint/#svn.reposadmin.maint.backup
2. svnsync
инструмент
Это метод инкрементального резервного копирования. Метод инкрементального резервного копирования создает резервные копии только той части данных репозитория, которая изменилась с момента предыдущего резервного копирования. Вы можете настроить этот инструмент для работы в качестве «главного» и «подчиненного» и автоматически дублировать любые коммиты в его репозиториях.
Более подробную информацию смотрите в статье «svnsync»:http://www.visualsvn.com/support/svnbook/ref/svnsync/
3. Резервное копирование Windows Server.Вы можете использовать Windows Server Backup для резервного копирования репозиториев Subversion. Он позволяет вам планировать резервное копирование на сетевой ресурс, выделенный резервный том, записываемый носитель. Например, wbadmin
инструмент командной строки позволяет вам безопасно делать резервные копии ваших репозиториев. Эта простая команда выполняет одноразовое резервное копирование на C:\foo\bar
том X:\
:
wbadmin start backup –backupTarget:x: -include:c\foo\bar -vsscopy
(Чтобы установить Windows Server Backup, запустите ocsetup WindowsServerBackup
командную строку с повышенными привилегиями).
Настроить резервное копирование можно разными способами:
wbadmin
инструмент командной строки,- Командлеты PowerShell, подходящие для автоматизации и настройки действий резервного копирования.,
- Мастер резервного копирования Windows Server(фактически, панель управления) Оснастка MMC.
При запуске резервного копирования останавливать работу сервера не требуется, посколькуБэкэнд репозитория FSFS — этовсегда в согласованном состоянии.
Вот общие советы по восстановлению резервных копий Windows Server:
Восстановите резервные копии в пустой каталог, чтобы убедиться, что восстановленные файлы репозитория не смешаются с файлами сломанного. После восстановления репозитория вы можете удалить сломанный репозиторий, а затем заменить его восстановленным.
Остановка-запуск сервера цикла после восстановления репозитория из резервной копии.
Если ваши клиенты получают ошибки после восстановления репозитория, запустите
svnadmin recover
против него. Команда завершается мгновенно и делает репозиторий снова доступным.
За исключением репозиториев, вам следует сделать резервную копию следующих фрагментов информации:
Файлы аутентификации и авторизации, которые хранятся в корне репозитория ('C:\Репозитории'(по умолчанию). В зависимости от ваших настроек должны быть следующие файлы:'authz','authz-windows'и'htpasswd'.
Папка "%VISUALSVN_SERVER%\certs", в которой хранится информация о ваших SSL-сертификатах.
Папка «%VISUALSVN_SERVER%\conf», в которой хранятся файлы конфигурации вашего сервера VisualSVN.
Раздел реестра «HKEY_LOCAL_MACHINE\SOFTWARE\VisualSVN\VisualSVN Server», в котором хранится остальная часть конфигурации сервера.
решение3
Я делаю это следующим образом:
svnadmin dump "c:/Repositories/svnroot" > c:/backup/svnroot_%date%.dump
Также вы можете rar/zip его для экономии места. Я использовал тот же метод, когда переносил SVN из Linux в VisualSVN, так что эта резервная копия работает так, как и должна.
решение4
Другой вариант -горячаякопия. Он делает резервную копию всего вашего репозитория. Занимает больше места на диске, но очень прост в запуске и также очень прост в восстановлении репозитория с его помощью.