Sauvegarder ses sources dans Subversion c’est bien mais si le serveur de source crache vous allez perdre tous l’historique. Mais depuis la version 1.4 de Subversion grâce à la commande svnsync on peut répliquer un dépot.

#Initialisation de la réplication

  • Sur la machine qui jouera le rôle d’esclave on va créer un nouveau dépot:
svnadmin create backupnoplay
  • Dans le répertoire backupnoplay/hooks on va créer deux hooks qui autoriseront uniquement l’utilisateur syncuser à réaliser les backup:

-** Le fichier pre-revprop-change contiendra:

#!/bin/sh 

USER="$3"

if [ "$USER" = "syncuser" ]; then exit 0; fi

echo "Only the syncuser user may change revision properties" >&2
exit 1

-** Le fichier start-commit contiendra:

#!/bin/sh 

USER="$3"

if [ "$USER" = "syncuser" ]; then exit 0; fi

echo "Only the syncuser user may change revision properties" >&2
exit 1
  • Mettez les droits d’exécution sur les deux fichier
  • Initialisez svnsync avec la commande:
svnsync init --username syncuser file:///var/svn/backupnoplay/ ADRESSE_DU_SVN_A_REPLIQUER

#Lancer la réplication svnsync synchronize file:///var/svn/backupnoplay/

#Vérifier la réplication Pour vérifier que la sauvegarde fonctionne bien il suffit d’extraire une copie du dépot Subversion.

svn co  file:///var/svn/backupnoplay/  /tmp/testbackup