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 :

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 :

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

Sources