web-dev-qa-db-fra.com

Comment sauvegarder le référentiel SVN?

J'entends souvent dire qu'avoir un dépôt SVN n'annule pas le besoin de sauvegardes.

Comment se fait une telle sauvegarde? Je veux dire que le dépôt se gonflera avec le temps, n'est-ce pas? Alors est-ce que je le sauvegarde dans son ensemble à chaque fois ou que dois-je faire?

Quelle est la façon la plus simple d'effectuer de telles sauvegardes?

19
sharptooth

J'ai utilisé svnadmin avec hotcopy .

svnadmin hotcopy repopath backupdestination

Vous pouvez également utiliser la commande svnadmin dump .

21
klabranche

Vous pouvez utiliser svnadmin dump . Par exemple, pour créer un fichier de sauvegarde compressé sous Linux, exécutez:

svnadmin dump -q /path/to/repo | bzip2 -9 > repo_backup.bz2

Pour restaurer une sauvegarde, utilisez svnadmin load :

svnadmin create /path/to/newrepo
bzip2 -cd repo_backup.bz2 | svnadmin load /path/to/newrepo

Voir aussi Migration des données du référentiel à l'aide de svnadmin dans le livre SVN.

22
Eugene Yarmash

J'ai utilisé le hook post commit pour faire une sauvegarde incrémentielle:

Sauvegarde REM de la révision

MD "C:\SVN Backup\Incremental \% TYPE%"

définir TYPE = 2020

set ADMIN = "C:\Program Files (x86)\WANdisco\uberSVN\bin\svnadmin.exe"

définir Zip = "C:\Program Files\7-Zip\7z.exe"

% ADMIN% dump% REPOS% -r% REV% - incrémental | % Zip% a -si "C:\Sauvegarde SVN\Incrémentiel \% TYPE% \% 2.7z" -mmt -mx9

En plus du vidage incrémentiel, j'ai un fichier de commandes hebdomadaire qui s'exécute qui fait un vidage complet. Un peu exagéré, mais tous les fichiers de vidage sont zippés avec l'utilitaire de ligne de commande 7 Zip. Par la suite, il est synchronisé avec notre support de sauvegarde habituel.

ÉDITER - Mise à jour du code avec la dernière où je zippe les fichiers de vidage avec l'utilitaire de ligne de commande 7 Zip pour économiser de l'espace.

3
RooiWillie

Je viens de compresser le référentiel une fois par semaine et de copier le fichier Zip dans un autre emplacement de stockage.

1
Rafael Anschau

Copiez et compressez tout le dossier du référentiel, cela vous permettra de revenir facilement à différents moments. Bien sûr, vous devez vous assurer de ne pas le faire pendant que le référentiel est utilisé ou que Dieu sait ce qui pourrait arriver :)

Sous Windows, vous pouvez utiliser VSS pour vous assurer que vous effectuez une sauvegarde cohérente ou effectuez la sauvegarde la nuit lorsqu'elle n'est pas utilisée.

Sinon, cochez cette question similaire ou ce billet de blog .

1
dSebastien