Quelle est la meilleure façon de faire des sauvegardes Subversion (sur un serveur basé sur Debian).
Est-ce pour utiliser svnadmin?
svnadmin dump /path/to/reponame > reponame.dump
Ou peut-être juste pour tarer le répertoire où se trouvent les référentiels?
tar -cvzf svn.backup.tar.gz /var/subversion/
Quels sont les avantages et les inconvénients de ce qui précède?
Merci Johan
Mise à jour : il s'agit d'un petit serveur avec seulement une poignée de dépôts. Donc, les sauvegardes incrémentielles ne sont probablement pas nécessaires, je pense qu'il vaut mieux se concentrer sur la simplicité.
Mise à jour : j'ai utilisé le script de wrapper de packs (qui était à son tour un wrapper pour svn-hot-backup) pour effectuer une sauvegarde complète, puis j'ai effectué une récupération complète sur un autre ordinateur propre. Cependant, j'ai supprimé cette partie "SVN_HOTBACKUP_NUM_BACKUPS = 10" car cela ne fonctionnait pas pour moi.
Veuillez noter que je pense que c'était assez simple et que le résultat était très proche de simplement tarer le dir. Mais comme Manni l'a souligné ici, utiliser svn-hot-backup / "svnadmin hotcopy" est une méthode plus fiable, car tar pourrait créer des sauvegardes corrompues de temps en temps si vous n'avez pas de chance.
Avez-vous vu la documentation à ce sujet?
Fondamentalement, vous avez deux options:
svnadmin dump
svnadmin hotcopy
Faire simplement une copie du répertoire n'est pas une option car votre référentiel peut changer pendant la copie.
Que vous soyez dans des sauvegardes incrémentielles ou complètes dépend de votre quantité de paranoïa, de la taille de votre référentiel, de vos besoins et de votre infrastructure.
la source
Je recommande SVNBackup car il est capable de faire des sauvegardes incrémentielles .
Pourquoi est-ce important? Eh bien, si vous avez une grande équipe de développement et que vous avez une sauvegarde Subversion quotidienne et que votre système échoue 12 heures après l'ancienne sauvegarde, la journée entière est perdue.
Si vous effectuez des sauvegardes complètes (comme la copie à chaud SVN ) plusieurs fois par jour, vous causez une charge inutile sur votre machine de référentiel, cela irritera les développeurs impatients.
En prime; Je recommande également Backup-PC comme solution de sauvegarde. Il peut effectuer des sauvegardes incrémentielles à distance et est capable d'économiser beaucoup d'espace si vous sauvegardez des fichiers identiques sur différents systèmes.
la source
J'utilise svnsync pour sauvegarder dans un référentiel autrement en lecture seule, qui est lui-même sauvegardé avec des copies anciennes (jour, semaine, mois)
la source
dump
ethotcopy
il a certainement ses utilisations. Il peut également être très pratique pour les sauvegardes incrémentielles locales.Vous pouvez faire une sauvegarde incrémentielle avec svnadmin si vous le souhaitez, vous devez exécuter le hot-backup.py avant de faire votre archive tar.
Voici un article sur la sauvegarde des dépôts svn. Quoi qu'il en soit, la lecture du livre SVN est un bon point de départ comme dit précédemment.
la source
Je sauvegarde plusieurs référentiels de 100 Go + svn avec un vieux rsync simple.
svnadmin dump
etsvnadmin hotcopy
prendrait des jours sur ces référentiels.Une autre chose à surveiller est de
svnadmin dump
ne pas sauvegarder les verrous et les scripts de hook.la source
Voici ce que je fais avec mes référentiels: utilisez un service de sauvegarde de dossiers comme Dropbox (voici un lien vers leur version Linux ). Vous faites simplement de Dropbox la racine de votre référentiel (ou même au-dessus) et il est sauvegardé à chaque fois qu'un fichier change. Non seulement il sera disponible sur tous les ordinateurs, mais vous pourrez y accéder en ligne et en avoir des versions.
Il existe plusieurs de ces services de sauvegarde en ligne - la plupart sont gratuits jusqu'à 2 Go.
la source