Dans des précédents billet nous avons vu comment créer un projet Subversion et comment installer Trac. Cette fois je vais vous expliquer comment je sauvegarde toutes ces précieuses données automatiquement.
- Création d'un script shell à adapter selon vos besoins
- Uploader le fichier sur votre serveur
- Donner les droits d'exécution au fichier
- Ajouter le script à un job cron afin d'automatiser son exécution à intervalles réguliers
TIMESTAMP=`date +%Y-%m-%d`
#répertoire de sauvegarde pour Subversion
DUMPDIR=$HOME/backup_dir/dump_svn
#répertoire de sauvegarde pour Trac
HOTCOPYDIR=$HOME/backup_dir/trac_backup
#répertoire du repository Subversion
REPOSVN=$HOME/svndir
#répertoire des projets Trac
TRACPROJDIR=$HOME/trac_dir
#adresse email pour l'envoi des sauvegardes
MAIL=unmail@gmail.com
# les variables d'environnements ne sont pas disponibles
# dans les cronjobs chez Dreamhost, on spécifie celles dont on aura besoin pour trac
export PYTHONPATH=/home/user/packages/lib/python2.3/site-packages
export LD_LIBRARY_PATH=/home/user/packages/lib
export PATH=/home/user/packages/bin:$PATH
#dump du repository svn
svnadmin dump $REPOSVN/projet1 > $DUMPDIR/$TIMESTAMP.projet1.dump
svnadmin dump $REPOSVN/projet2 > $DUMPDIR/$TIMESTAMP.projet2.dump
#hotcopy des projets trac
trac-admin $TRACPROJDIR/projet1 hotcopy $HOTCOPYDIR/$TIMESTAMP.projet1
trac-admin $TRACPROJDIR/projet2 hotcopy $HOTCOPYDIR/$TIMESTAMP.projet2
#compression du dump
tar cjf $DUMPDIR/$TIMESTAMP.projet1.dump.tar.bz2 $DUMPDIR/$TIMESTAMP.projet1.dump
tar cjf $DUMPDIR/$TIMESTAMP.projet2.dump.tar.bz2 $DUMPDIR/$TIMESTAMP.projet2.dump
#compression des hotcopy trac
tar cjf $HOTCOPYDIR/$TIMESTAMP.projet1.tar.bz2 $HOTCOPYDIR/$TIMESTAMP.projet1
tar cjf $HOTCOPYDIR/$TIMESTAMP.projet2.tar.bz2 $HOTCOPYDIR/$TIMESTAMP.projet2
#nettoyage
rm -rf $DUMPDIR/$TIMESTAMP.*.dump
rm -rf $HOTCOPYDIR/$TIMESTAMP.projet1
rm -rf $HOTCOPYDIR/$TIMESTAMP.projet2
find $DUMPDIR -mtime +30 -exec rm {} \;
find $HOTCOPYDIR -mtime +30 -exec rm {} \;
#envoi des fichiers par mail
mutt -s "dump svn" \\
-a $DUMPDIR/$TIMESTAMP.projet1.dump.tar.bz2 \\
-a $DUMPDIR/$TIMESTAMP.projet2.dump.tar.bz2 \\
$MAIL < /dev/null
mutt -s "hotcopy trac" \\
-a $HOTCOPYDIR/$TIMESTAMP.projet1.tar.bz2 \\
-a $HOTCOPYDIR/$TIMESTAMP.projet2.tar.bz2 \\
$MAIL < /dev/null
chmod +x nomdufichierChez l'hébergeur Dreamhost on peux désormais faire ça facilement via le panel d'administration dans le menu "Goodies/Cron jobs".
Voilà c'est fini, vous pouvez de temps en temps faire le ménage dans les répertoires de sauvegarde sur le serveur.
Bon je ne suis pas fort en Shell on doit pouvoir faire beaucoup mieux, mais ça marche aussi comme ça ;)
Articles similaires
- Sauvegarde en ligne de commande sous linux avec rsync
- Et pourquoi pas essayer la ligne de commande sur votre hébergement web ?
- Optimiser vos images png avec OptiPNG
- Espace disque et bande passante X 4 pendant deux semaines
- Dreamhost status
- Problèmes de wifi avec un Dell Vostro sous Ubuntu gusty [résolu]
- Dell Vostro - Webcam sous Ubuntu
- Ubuntu 7.10 Gusty Gibbon final release
- Ubuntu 7.10 Beta "Gutsy Gibbon" sur Dell Vostro 1500 - problème de son [résolu]
- Upgrade Ubuntu 7.10 Beta "Gutsy Gibbon" sur Dell Vostro 1500

