Установка и настройка VisualSVN Server под Windows Server 2003 Enterprise. Часть 3
3. Резервное копирование и восстановление репозитория.
Осуществление резервного копирования VisualSVN cервера очень простое и требует минимум действия со стороны Администратора. На примере зададимся следующей задачей по резервному копированию:
- необходимо ежедневно с ПН по ПТ осуществлять резервное копирование всех репозиториев проектов и конфигурационных файлов. Время бэкапа осуществлять в нерабочее время с 23:00.
Для себя я решил задачу следующим простым образом.
1. Автоматизировать небольшим скриптом используя утилиту из svnadmin.exe. Скрипт backup01.cmd выглядил следующим образом:
также отдельно необходимо забэкапить конгурационные файлы VisaulSVN Server, из каталога C:\Repositories, это файлы:
authz authz-windows htpasswd
2. Использование утилиты Cobian Backup в качестве щедулера задания и дополнительного бэкапирования.
Саму программу можно скачать отсюда. Программа бесплатна и весьма функциональна.
Основные настройки программы Cobian Backup. Как видно имеем 5 заданий на каждый будний день ПН-ПТ.
Ниже в меню Files указываем откуда и куда будем копировать репозиторий проекта (или проектов) на файловом уровне. Т.е. у меня - это процедура вторичного резервного копирования моих репозиториев с проектами на RAID массив (Диск E:).
День недели - ПЯТНИЦА и установочное время бэкапа 23:00.
и наконец, выполнение перед файловым копированием указанного репозитория проекта - нашего скрипта backup05.cmd (дамп репозитория).
Cobian Backup можно настроить на отправку на ваш email лог копирования с ошибками (или просто уведомление об удачном бэкапе).
Использование в Windows Server 2003 возможности файловой репликации в дополнительное хранилище, можно повысить отказоустойчивость серверов с минимальным временем простоя . Данный процесс репликации я также использовал для того, чтобы в случае физического выхода из строя сервера VisaulSVN Server, я бы смог с нимальным временем восcтановить его на резервном (где поднят также дополнительный VisaulSVN Server) где настройки на репозиторий указаны на подключение к файловому хранилищу данных (пространство имен в домене). Практически в этой статье мы не будем рассматривать файловую репликацию.
Теперь рассмотрим процедуру восстановления репозитория.
1. Восстановление из дампа.
Имеем дампы репозитория, которые забэкапены у нас ранее. Необходимо восстановить копию за ПЯТНИЦУ, full_Project05.dump. Найдя копию в папке за пятницу C:\Backup\SVN\05, используем утилиту администрирования svnadmin.exe
Для началу создадим наш "потерянный" репозиторий:
Укажите имя репозитория
Не ставьте галку напротив Create default structure (trunk, branches, tags).
т.о. загрузив наш бэкап в репозиторий проекта Project05.
2. Восстановление из файла репозитория.
Восстановление репозитория созданного программой бэкапирования Cobiab Backup. Необходимый наш каталог репозитория проекта скопируйте в корневой каталог хранилища репозиториев C:\Repository. В нашем случае это C:\Backup\SVN\05\Project05\ в C:\Repository\. Перегрузите сервис VisualSVN Manager'a
Все примеры приведенные выше используют простую схему бэкапа. Можно
написать скрипты и на PowerShell, и более целомудренные BAT скрипты и
т.п.