Note : cette documentation est destinée à la configuration de backupninja >= 0.7, donc applicable pour Debian « Etch » 4.0. Pour configurer la version 0.5, disponible dans Debian « Sarge » 3.1, lire Sauvegarde Sarge.
Présentation du système
Ce document présente l'installation de backupninja sous Debian Etch. Ce système de sauvegarde est très évolutif et permet de sauvegarder une grande variété de données (LDAP, SQL, SVN, ...).
Backupninja fonctionne avec des handlers (globalement c'est un système de plugins). En voila la liste des principaux installés de base :
- rdiff : permet de faire des sauvegardes incrémentales locales ou distantes.
- sys : permet de sauvegarder la configuration système de la machine (listes des paquets Debian installés, partitions du disque dur, ...).
- mysql : permet de sauvegarder une base de donnée MySQL
- ldap, svn, trac, ...
Nous allons surtout voir comment le configurer pour faire des sauvegardes incrémentales locale et distantes.
Conventions
On va considérer les données suivantes :
- Dossier à sauvegarder : /etc/
- Destination de la sauvegarde locale : /backups/
- Destination de la sauvegarde distante : backup.miskin.fr:/backups/
- Label : daily (les sauvegardes seront donc placées dans /backups/daily/etc/)
Installation
Dans la Debian stable (« sarge ») on retrouve la version 0.5, alors que la unstable (« sid ») intègre la version 0.7. Cette dernière offre principalement un assistant qui permet de générer les fichiers de configuration.
Sur la machine cliente, il suffit d'installer backupninja et rdiff-backup (ainsi que leurs dépendances) :
root@localhost:~# apt-get install backupninja rdiff-backup
Si vous voulez placer vos sauvegarde sur une machine distante, il faudra y installer rdiff-backup :
root@sauvegarde:~# apt-get install rdiff-backup
Configuration de la sauvegarde
Note : cette documentation est destinée à la configuration de backupninja >= 0.7, donc applicable pour Debian « Etch » 4.0. Pour configurer la version 0.5, disponible dans Debian « Sarge » 3.1, lire Sauvegarde Sarge.
Avec la dernière version de backupninja, la configuration se fait très simplement :
# ninjahelper
L'utilitaire vous permettra de choisir le type de sauvegarde, la liste des répertoires à sauvegarder, la machine cible, et permettra même de générer les clés SSH pour se connecter au serveur sans mot de passe. Cet assistant ne permet de configurer que certains handlers (sys, rdiff, mysql et ldap).
L'utilisation de l'assistant est tellement intuitive que je ne vais pas en expliquer son fonctionnement ici. Il peut être intéressant de lire la suite pour configurer plus finement backupninja.
La configuration générée pour le handler rdiff n'a pas marché directement pour moi. Il a fallu que j'ajoute dans la catégorie [source] la ligne suivante :
# dans le fichier /etc/backup.d/90.rdiff label = daily
Restauration
Backupninja nécessite l'utilisation de rdiff-backup pour restaurer ses sauvegardes. Je vous conseille donc la lecture du document « rdiff-backup examples » ainsi que la page de manuel de rdiff-backup(1) pour en connaître plus sur cet outils.
Locale
Pour récupérer la dernière version d'une sauvegarde locale, c'est très simple :
root@localhost:~# rdiff-backup -r now /backups/daily/etc/passwd /tmp/passwd
Il est possible de restaurer une version plus ancienne du fichier :
root@localhost:~# rdiff-backup -r 2005-09-19 /backups/daily/etc/passwd /tmp/passwd
Distante
Pour restaurer des fichiers sauvegardés sur une machine distante, le mécanisme est le même :
root@localhost:~# rdiff-backup -r now \ sauvegarde.miskin.fr::/backups/daily/etc/passwd \ /tmp/passwd
A propos et nouveautés
Vous pouvez modifier et distribuer cette documentation sous les termes de la licence GPL. Elle est inspiré de documentations trouvée sur le web et de ma propre expérience de backupninja.
Versions
- 0.0-20070417 (split pour Debian Sarge/Etch)
- 0.0-20050919 (version originale)