Qual é a melhor maneira de fazer backups do Subversion (em um servidor baseado no Debian).
É para usar svnadmin?
svnadmin dump /path/to/reponame > reponame.dump
Ou talvez apenas para tar o diretório onde estão os repositórios?
tar -cvzf svn.backup.tar.gz /var/subversion/
Quais são os prós e os contras dos itens acima?
Obrigado Johan
Atualização : este é um servidor pequeno, com apenas um punhado de repositórios. Portanto, provavelmente não são necessários backups incrementais, acho melhor focar em mantê-lo simples.
Atualização : usei o script do empacotador de pacotes (que por sua vez era um invólucro do svn-hot-backup) para fazer um backup completo e, em seguida, fiz uma recuperação completa em outro computador limpo. No entanto, removi a parte "SVN_HOTBACKUP_NUM_BACKUPS = 10", pois não estava funcionando para mim.
Por favor, note que eu acho que foi meio simples e o resultado foi muito próximo de apenas tar o diretório. Mas como Manni apontou aqui para usar o svn-hot-backup / "svnadmin hotcopy" é um método mais confiável, pois o tar pode criar backups corrompidos de tempos em tempos, se você não tiver sorte.
Você já viu a documentação sobre isso?
Basicamente, você tem duas opções:
svnadmin dump
svnadmin hotcopy
Simplesmente fazer uma cópia do diretório não é uma opção, pois seu repositório pode mudar enquanto a cópia está sendo feita.
Se você gosta de backups incrementais ou completos, depende da sua quantidade de paranóia, do tamanho do seu repositório, das suas necessidades e da sua infraestrutura.
fonte
Eu estou recomendando o SVNBackup devido ao fato de ele ser capaz de fazer backups incrementais .
Por que isso é importante? Bem, se você tem uma grande equipe de desenvolvimento e possui um backup diário do Subversion e seu sistema falha 12 horas no backup antigo, o trabalho do dia inteiro é perdido.
Se você fizer backups completos (o que é o SVN hotcopy ) muitas vezes por dia, estará causando um carregamento desnecessário na sua máquina de repositório, o que irritará desenvolvedores impacientes.
Como um bônus; Eu também recomendo o Backup-PC como uma solução de backup. Ele pode fazer backups remotos incrementais e é capaz de economizar muito espaço se você estiver fazendo backup de arquivos idênticos em sistemas diferentes.
fonte
Eu uso o svnsync para fazer backup em um repositório somente leitura, que é copiado com cópias antigas (dia, semana, mês)
fonte
dump
ehotcopy
certamente tem seus usos. Pode ser bastante útil também para backups incrementais locais.Você pode fazer backup incremental com svnadmin, se desejar, deve executar o hot-backup.py antes de criar seu arquivo tar.
Aqui está um artigo sobre como fazer backup de repositórios svn. De qualquer forma, ler o livro SVN é um bom ponto de partida, como dito anteriormente.
fonte
Eu faço backup de vários repositórios svn de 100 GB + com o rsync antigo simples.
svnadmin dump
esvnadmin hotcopy
levaria dias nesses repositórios.Outra coisa a observar é
svnadmin dump
não fazer backup de bloqueios e scripts de gancho.fonte
Aqui está o que faço com meus repositórios: use um serviço de backup de pastas como o Dropbox (aqui está um link para a versão do Linux ). Você simplesmente torna o Dropbox a raiz do seu repositório (ou mesmo acima dele) e o backup é feito toda vez que um arquivo é alterado. Ele não só estará disponível em computadores, mas você poderá acessá-lo on-line e ter versões dele.
Existem vários serviços de backup online - a maioria é gratuita até 2 GB.
fonte