C’est assez simple :
trac-admin /chemin/de/votre/instance/trac hotcopy /chemin/de/votre/dossier/de/sauvegarde
Pendant le temps de l’opération, la base Trac est vérouillée.
Vous pouvez ensuite sauvegarder normalement ce dossier :
tar cjf trac_backup.tar.bz2 /chemin/de/votre/dossier/de/sauvegarde
Il vous reste plus qu’à récupérer votre fichier trac_backup.tar.bz2 ;-)
Il vous suffit de décompresser votre dossier de sauvegarde à la place de votre instance précédente. Si vous restaurer la sauvegarde sur une autre machine, il vous faudra peut être ajuster certaines valeurs du fichier conf/trac.ini.
Note : Mon instance de production étant sous Trac 0.10 issue de Debian Testing, j’ai eu le droit à une jolie erreur lors de la restauration sous Ubuntu :
PythonHandler trac.web.modpython_frontend: DatabaseError: file is encrypted or is not a database
J’ai récupéré une version 0.10 de Trac pour Ubuntu Feisty, car dans Edgy et Dapper, Trac est disponible sous la version 0.9.6. Il m’a aussi fallu installer le paquet python-pysqlite2 et le tour fut joué !
svnadmin dump /chemin/de/votre/instance/subversion > ~/monprojet.svndump
Il vous suffit de compresser & récupérer ce fichier sur votre machine si besoin.
svnadmin load /chemin/de/votre/instance/subversion < ~/monprojet.svndump
Si vous déplacez votre instance subversion sur une autre machine, il vous faudra créer votre dépôt subversion en premier lieu :
svnadmin create /chemin/de/votre/nouvelle/instance/subversion
svnadmin load /chemin/de/votre/nouvelle/instance/subversion < ~/monprojet.svndump