Nous utilisons des instances TRAC distinctes comme système de tickets pour de nombreux projets et nous devons les déplacer hors site plusieurs fois par jour pour la reprise après sinistre.
Quelle est la meilleure façon d'y parvenir? Existe-t-il quelque chose de similaire à svnsync pour subversion?
Pour récupérer complètement l'environnement Trac, vous avez besoin des éléments suivants:
DB de sauvegarde;
fichiers de configuration de sauvegarde;
sauvegarder les fichiers wiki (html et pièces jointes);
sauvegarder les fichiers de mots de passe si vous utilisez htpasswd auth;
plugins optionnels (même s'ils sont disponibles en téléchargement, je les sauvegarderais pour une récupération plus rapide);
Dans le cas de la configuration standard (avec SQLite comme backend BD), cela signifie que tout ce que vous avez à sauvegarder est le contenu du répertoire d'installation de trac.
Il serait également utile de créer une liste de tous les packages Python avec lesquels vous devez installer easy_install.
J'ai utilisé un script pour sauvegarder en toute sécurité à la fois SVN + l'instance Trac complète dans un fichier .tar.gz. De là, il peut être sauvegardé comme d'habitude avec les autres fichiers.
#!/bin/sh
DATE=`date +%F-%H%M%S`
nice svnadmin dump /var/svn/trac.example.com > dump.$DATE.svn
nice trac-admin trac.example.com hotcopy trac.example.com-$DATE.trac
# take the SVN dump, and trac hotcopy, put into a dated TGZ anc copy to /backup...
nice tar czf svn-trac.$DATE.tar.gz backupTrac.sh startTracd.sh trac.htdigest \
trac.example.com-$DATE.trac dump.$DATE.svn && \
cp svn-trac.$DATE.tar.gz /backup/trac/ &&
rm -rf trac.example.com-$DATE.trac dump.$DATE.svn
N'oubliez pas qu'une sorte de diff binaire peut vraiment réduire la taille entre les sauvegardes. Le seul inconvénient est que vous perdez le différentiel initial ou l'un des différentiels intermédiaires.
Joshua
Pour une sauvegarde, je préfère jouer très, très, en toute sécurité. L'espace disque est bon marché, ce qui n'est pas le cas pour la récupération d'une sauvegarde.
Alister Bulman
5
Vous voudrez peut-être jeter un œil à TracBackup :
Étant donné que Trac utilise un backend de base de données, une attention particulière est requise pour créer en toute sécurité une sauvegarde d'un environnement de projet. Heureusement, trac-admin a une commande pour faciliter les sauvegardes: hotcopy.
Remarque: Trac utilise la nomenclature hotcopy pour correspondre à celle de Subversion, afin de se souvenir plus facilement lors de la gestion des serveurs Trac et Subversion.
Si vous utilisez sqlite comme backend (paramètre par défaut), vous pouvez simplement copier à chaud le fichier. La taille du fichier (du moins pour nous) est si petite que nous n'avons jamais eu de problèmes de cohérence.
Vous voudrez peut-être jeter un œil à TracBackup :
la source
Si vous utilisez sqlite comme backend (paramètre par défaut), vous pouvez simplement copier à chaud le fichier. La taille du fichier (du moins pour nous) est si petite que nous n'avons jamais eu de problèmes de cohérence.
la source