De que maneiras existem para fazer backup de repositórios para o Windows VisualSVN?

13

Neste momento, estamos usando o Visual SVN e estamos fazendo o backup de todo o diretório de repositórios para o svn visual. Isso faz o backup de todos os dados de cada repositório dentro do nosso motor svn. Estou curioso para saber se poderei restaurar esses arquivos em caso de emergência ou desastre? Algum de vocês tem experiência com este procedimento de restauração? Obrigado.

    
por Geo 05.06.2009 / 16:23

7 respostas

9

Veja: link

Isso aponta para a seguinte documentação: link

Descreve o uso dos comandos do Subversion para fazer um backup. Espero que isso seja o que você já está fazendo, pois fazer um backup direto de diretório pode resultar em um repositório não utilizável.

Você deve ser capaz de usar o backup do Subversion e usar o comando svnadmin dump ou svnadmin hotcopy para restaurar o repositório completo. No entanto, como acontece com qualquer estratégia de backup, você deve testar a restauração para ter certeza de que funciona para você.

    
por 05.06.2009 / 18:18
6

A partir da versão do VisualSVN Server 3.6, o servidor inclui um backup e restauração de repositório agendado interno . Além disso, a versão 3.6 adiciona verificação agendada de repositórios SVN.

A configuração de backup e verificação de repositório agendado para seus repositórios do Subversion é apenas uma questão de minutos. Para obter instruções passo a passo, consulte o artigo KB106: Introdução ao backup e restauração .

Se você procurar um backup único, poderá usar Backup-SvnRepository cmdlet do PowerShell. Para recuperar o repositório, use Restore-SvnRepository . Esses cmdlets de backup estão disponíveis a partir da versão 3.6.

Faça o download da versão mais recente do VisualSVN Server na principal página de download .

ExistemváriosmétodosparafazerbackupdosrepositóriosdoVisualSVNServer.Vejaabrevedescriçãoabaixo.

1.svnadminhotcopytool

svnadminhotcopypermitequevocêfaçaumacópiaseguradorepositório,independentementedeoutrosprocessosestaremusandoorepositório.Vocêpodeescreverumscriptpersonalizadoquefaráobackupdeseusrepositóriosregularmente.

VocêpodeconsideraroseguinteartigodolivrodoSVNparasabermaissobrebackupderepositóriosdoSubversion: link

2. svnsync tool

Este é o método de backup incremental. O método de backup incremental faz backup somente da parte dos dados do repositório que foram alterados desde o backup anterior. Você pode configurar essa ferramenta para funcionar como "master" e "slave" e duplicar quaisquer commits para seus repositórios automaticamente.

Veja o artigo "svnsync" para mais detalhes: link

3. Backup do Windows Server. Você pode usar o Backup do Windows Server para fazer backup dos repositórios do Subversion. Ele permite que você transfira os backups para um compartilhamento de rede, um volume de backup dedicado e uma mídia gravável. Por exemplo, a ferramenta de linha de comando wbadmin permite que você faça backup de seus repositórios com segurança. Este comando simples executa um backup de cópia única de C:\foo\bar para X:\ volume:

wbadmin start backup –backupTarget:x: -include:c\foo\bar -vsscopy

(Para instalar o Backup do Windows Server, execute ocsetup WindowsServerBackup no prompt de comando elevado).

Você pode configurar o backup de diferentes maneiras:

Não é necessário parar o serviço do servidor quando você executa o backup porque O backend do repositório FSFS está sempre em estado consistente .

Aqui estão algumas dicas gerais sobre como recuperar backups do Windows Server:

  1. Recupere os backups em um diretório vazio para garantir que os arquivos do repositório restaurados não se misturem com os arquivos do arquivo quebrado. Depois que o repositório for recuperado, você poderá excluir o repositório corrompido e substituí-lo pelo recuperado.

  2. Servidor de ciclo de início parado após recuperar o repositório de um backup.

  3. Se seus clientes obtiverem erros após a recuperação do repositório, execute svnadmin recover contra ele. O comando termina instantaneamente e torna o repositório acessível novamente.

Exceto repositórios, você deve fazer o backup das seguintes informações:

  1. Arquivos de autenticação e autorização que são armazenados na raiz dos repositórios ( 'C: \ Repositories' por padrão). Dependendo das suas configurações, deve haver os seguintes arquivos: 'authz' , 'authz-windows' e 'htpasswd' .

  2. Pasta "% VISUALSVN_SERVER% \ certs \" onde as informações sobre seus certificados SSL são armazenadas.

  3. Pasta "% VISUALSVN_SERVER% \ conf \" onde os arquivos de configuração do seu servidor VisualSVN são armazenados.

  4. Chave de registro "HKEY_LOCAL_MACHINE \ SOFTWARE \ VisualSVN \ VisualSVN Server" em que outra parte da configuração do servidor é armazenada.

por 13.07.2012 / 14:38
4

Eu estou fazendo isso por:

svnadmin dump "c:/Repositories/svnroot" > c:/backup/svnroot_%date%.dump

Além disso, você pode rar / zip para economizar espaço. Eu estava usando o mesmo método quando movi o SVN do Linux para o VisualSVN, então esse backup funciona como deveria.

    
por 22.02.2010 / 08:24
3

A maneira mais fácil e melhor de fazer backups de um repositório SVN é usar svnsync . É uma ferramenta incremental que reproduz qualquer commit para um repositório de backup. É fácil ir - veja esta postagem no blog - e é rápido só envia mudanças. Você terá que configurar um hook pós-rev-prop-change para capturar o 'caso extremo' de quando alguém atualiza um revprop histórico, mas, caso contrário, você pode executá-lo de hora em hora (como eu) para manter os backups continuamente. você pode até executá-lo no post-commit hook se você é realmente paranóico com backup de dados!

Se o seu live repo morrer, você pode simplesmente "svn relocate" para o repositório de backup até ter o seu live novamente (tenha cuidado se escrever alguma coisa no backup enquanto o live estiver desativado, a menos que você execute svnsync para obter essas alterações aplicadas ao repositório ao vivo, o que é bastante óbvio quando você pensa sobre isso).

Portanto, você tem backups contínuos e tempo de inatividade medido em segundos, usando-o com o mínimo de uso de recursos. Os backups não ficam muito melhores que isso!

    
por 23.06.2009 / 20:33
3

Outra opção é hotcopy . Faz um backup de todo o seu repositório. Ocupa mais espaço em disco, mas é muito fácil de executar e também é muito fácil restaurar o repositório usando isso.

    
por 07.12.2009 / 18:52
2

O VisualSVN é um produto do Windows, portanto, ele será executado no Windows. Se o utilitário de backup puder usar a Cópia de Sombra de Volume para fazer o backup, isso deverá produzir um backup consistente internamente. O software NTBACKUP ou de terceiros incorporado, como o Symantec Backup Exec, ou as ferramentas de backup baseadas em disco do Windows Server 2008 são capazes de usar a Cópia de Sombra de Volume.

    
por 14.06.2009 / 04:43
0

Para aqueles que simplesmente querem fazer backup de todos os repositórios em uma instalação padrão do Visual SVN em um sistema Windows

Eu uso o seguinte script cmd - Ele copia todas as sub-pastas da raiz do repositório para o caminho de backup e as 7-zips .

@echo off
set svnAdminPath="C:\Program Files (x86)\VisualSVN Server\bin"
set sevenZipPath="C:\Program Files-Zip"
set repositoryRoot=d:\Repositories
set backupPath=c:\Source\Backup\SVN
set dateStamp=%DATE:~-4%-%DATE:~4,2%-%DATE:~7,2%

for /f %%f in ('dir /b /AD %%repositoryRoot%%') do ( 
call:dumpRepository %%f 
call:zipLastDump
)
goto:eof

:dumpRepository
cd /d %svnAdminPath%
set repoPath=%repositoryRoot%/%~1
set dumpFile=%~1_%dateStamp%
echo.-------------------
echo.Dumping %~1 to %dumpFile%.dump
echo.-------------------
svnadmin dump "%repoPath%" > "%backupPath%\%dumpFile%.dump"
exit /b

:zipLastDump
cd /d %sevenZipPath%
set zipFile="%backupPath%\%dumpFile%.7z"
echo.-------------------
echo.Zipping %dumpFile%.dump to %zipFile%
echo.-------------------
7z a "%zipFile%" "%backupPath%\%dumpFile%.dump" 
del "%backupPath%\%dumpFile%.dump" 
exit /b
    
por 05.02.2014 / 00:56