В данный момент мы используем Visual SVN и создаем резервную копию всего каталога репозиториев для Visual SVN. Это создает резервные копии всех данных для каждого хранилища в нашем движке SVN. Мне интересно, смогу ли я восстановить эти файлы в случае чрезвычайной ситуации или стихийного бедствия? У кого-нибудь из вас есть опыт этой процедуры восстановления? Благодарю.
15
Ответы:
Смотрите: 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
для восстановления полного хранилища. Однако, как и в случае с любой стратегией резервного копирования, вы должны самостоятельно проверить восстановление, чтобы убедиться, что оно работает для вас.источник
Начиная с версии VisualSVN Server 3.6, сервер имеет встроенную функцию резервного копирования и восстановления по расписанию . Кроме того, в версии 3.6 добавлена запланированная проверка SVN-репозиториев.
Настройка резервного копирования и проверки по расписанию для ваших репозиториев Subversion занимает всего несколько минут. Пошаговые инструкции см. В статье KB106: Начало работы с резервным копированием и восстановлением .
Если вы ищете одноразовую резервную копию, вы можете использовать командлет Backup-SvnRepository PowerShell. Чтобы восстановить репозиторий, используйте Restore-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:\
том:(Чтобы установить Windows Server Backup, запустите
ocsetup WindowsServerBackup
в командной строке с повышенными правами).Вы можете настроить резервное копирование различными способами:
wbadmin
инструмент командной строки ,При запуске резервного копирования не требуется останавливать службу сервера, поскольку серверная часть репозитория FSFS всегда находится в согласованном состоянии .
Вот общие советы по восстановлению резервных копий Windows Server:
Восстановите резервные копии в пустой каталог, чтобы убедиться, что восстановленные файлы репозитория не будут смешиваться с файлами поврежденного. После восстановления репозитория вы можете удалить поврежденный репозиторий, а затем заменить его на восстановленный.
Стоп-запуск цикла сервера после восстановления хранилища из резервной копии.
Если ваши клиенты получают ошибки после восстановления хранилища, запустите
svnadmin recover
их. Команда завершается мгновенно и делает хранилище снова доступным.За исключением репозиториев, вы должны сделать резервную копию следующей информации:
Файлы аутентификации и авторизации, которые хранятся в корне хранилища ( по умолчанию «C: \ Repositories» ). В зависимости от ваших настроек должны быть следующие файлы: «authz» , «authz-windows» и «htpasswd» .
Папка «% VISUALSVN_SERVER% \ certs \», в которой хранится информация о ваших SSL-сертификатах.
Папка «% VISUALSVN_SERVER% \ conf \», в которой хранятся файлы конфигурации вашего сервера VisualSVN.
Раздел реестра «HKEY_LOCAL_MACHINE \ SOFTWARE \ VisualSVN \ VisualSVN Server», в котором хранится другая часть конфигурации сервера.
источник
Я делаю это путем:
Также вы можете RAR / ZIP, чтобы сэкономить место. Я использовал тот же метод, когда переместил SVN из Linux в VisualSVN, поэтому эта резервная копия работает как надо.
источник
Самый простой и лучший способ сделать резервные копии репозитория SVN - это использовать svnsync . Это инкрементный инструмент, который воспроизводит любые коммиты в резервное хранилище. Его легко начать - см. Этот пост в блоге - и это быстро, поскольку он только отправляет изменения. Вам нужно будет установить хук post-rev-prop-change, чтобы поймать «крайний случай», когда кто-то обновляет исторический revprop, но в противном случае вы можете запускать его ежечасно (как я), чтобы постоянно сохранять резервные копии. Вы даже можете запустить его в хуке post-commit, если вы действительно параноидально относитесь к резервному копированию данных!
Если ваше живое репо умирает, вы можете просто «переместить svn» в резервное хранилище, пока ваше живое хранилище не запустится снова (хотя, будьте осторожны, если вы что-то записываете в резервную копию, пока живое не работает, если вы не запустите svnsync, чтобы получить их. изменения, примененные к живому репо, что довольно очевидно, когда вы об этом думаете).
Таким образом, у вас есть непрерывные резервные копии, и время простоя измеряется в секундах, используя его с минимальным использованием ресурсов. Резервные копии не становятся намного лучше, чем это!
источник
Другой вариант - горячая копия . Это делает резервную копию всего вашего хранилища. Занимает больше места на диске, но очень прост в запуске и очень легко восстанавливает репозиторий, используя это.
источник
VisualSVN - это продукт для Windows, поэтому он будет работать в Windows. Если утилита резервного копирования может использовать теневое копирование тома для создания резервной копии, то это должно создать внутренне согласованную резервную копию. Встроенное программное обеспечение NTBACKUP или стороннее программное обеспечение, такое как Symantec Backup Exec, или средства резервного копирования на основе дисков, встроенные в Windows Server 2008, способны использовать Volume Shadow Copy.
источник
Для тех, кто просто хочет сделать резервную копию всех репозиториев при установке Visual SVN по умолчанию в системе Windows
Я использую следующий сценарий cmd - он сбрасывает все подпапки корня хранилища в путь резервной копии и 7-zips их.
источник