[SVN]: Como fazer backup do repositório?

1

Se o repositório estiver contido em uma pasta, será suficiente fazer o backup dessa pasta em vez de digitar os comandos para criar um dump?

    
por RPK 30.10.2009 / 10:33

4 respostas

6

Isso é descrito detalhadamente no Subversion Reservar :

As far as full backups go, the naïve approach might seem like a sane one, but unless you temporarily disable all other access to your repository, simply doing a recursive directory copy runs the risk of generating a faulty backup. In the case of Berkeley DB, the documentation describes a certain order in which database files can be copied that will guarantee a valid backup copy. A similar ordering exists for FSFS data. But you don't have to implement these algorithms yourself, because the Subversion development team has already done so. The svnadmin hotcopy command takes care of the minutia involved in making a hot backup of your repository. And its invocation is as trivial as the Unix cp or Windows copy operations:

$ svnadmin hotcopy /var/svn/repos /var/svn/repos-backup

The resultant backup is a fully functional Subversion repository, able to be dropped in as a replacement for your live repository should something go horribly wrong.

...

Additional tooling around this command is available, too. The tools/backup/ directory of the Subversion source distribution holds the hot-backup.py script. This script adds a bit of backup management atop svnadmin hotcopy, allowing you to keep only the most recent configured number of backups of each repository. It will automatically manage the names of the backed-up repository directories to avoid collisions with previous backups and will “rotate off” older backups, deleting them so that only the most recent ones remain. Even if you also have an incremental backup, you might want to run this program on a regular basis. For example, you might consider using hot-backup.py from a program scheduler (such as cron on Unix systems), which can cause it to run nightly (or at whatever granularity of time you deem safe).

    
por 30.10.2009 / 10:46
2

Não, você não pode fazer backup de uma pasta de repositório sem bloquear o repositório. Consulte este capítulo do livro do SVN para obter mais informações em relação a backups.

Um dump é uma maneira de fazer um backup. Você também pode fazer um hotcopy:

svnadmin hotcopy /var/svn/repos /var/svn/repos-backup

Ou você pode usar svnsync para manter constantemente uma cópia atualizada do seu repositório. Se você não tiver um servidor SVN poderoso, isso também tem a vantagem de impedir que o servidor fique de joelhos por backups.

    
por 30.10.2009 / 10:47
2

Você pode dar uma olhada nesta página .

Se você quiser apenas fazer o backup de um checkout, você pode arquivá-lo como uma pasta normal, as configurações do svn são armazenadas nas pastas .svn localizadas em todas as pastas do seu repositório.

(A questão deve ser movida no superusuário)

    
por 30.10.2009 / 10:37
1

Se você tem certeza de que nenhum usuário irá cometer nada enquanto estiver copiando a pasta do repositório, então é seguro.

Caso contrário, é recomendável usar o comando hotcopy ou dump.

    
por 30.10.2009 / 10:46

Tags