Exhaustif.com
Contact Combattre la pyrale du buis
Exhaustif.com
Sauvegardes incrémentales avec rsnapshot
Date de publication : lundi 22 septembre 2008, dernière modification le : lundi 29 septembre 2008.

Une architecture de sauvegarde simple et efficace

  Sauvegardes incrémentales avec rsnapshot

Introduction

La sauvegarde est un besoin de plus en plus présent, heureusement pour nos données vous me direz-vous. Cependant, cela peut être un véritable casse tête des lors qu’une quantité importante de donnée est à traiter.

Nous allons ici détailler une solution de backup simple, permettant de sauvegarder tout type de données, de tout type de système d’exploitation.
Le schéma sera le suivant :
Les données importantes seront sur deux PC. Un sous Windows XP, et un sous Debian Lenny [1]. La sauvegarde sera faite sur un NAS QNAP, en utilisant le protocole NFS. On utilisera RSnapshot qui nous permettra de faire une sauvegarde incrémental sur N jours.

La seul manipulation à faire sous XP est de partager les dossiers. A vous de sécuriser ces partages avec des mots de passes.

Tout le reste se fera sur la Debian.

Pré-requis

La première chose à faire est de mettre à jour le système, comme avant chaque installations de logiciel.

# apt-get update
# apt-get upgrade

Nous allons tout installer d’un coup, le détail sera fait par la suite :

# apt-get install samba smbclient smbfs nfs-common rsync rsnapshot

Il nous faut maintenant "monter" les partage Windows sous Debian. La commande est simple :

# mkdir /point_de_montage
# smbmount //ip_windows/nom_du_partage /point_de_montage -o username=XXX,password=XXX

Nous aurons donc accès au donnée partagé depuis Windows dans le répertoire /point_de_montage ...
Vous pouvez par exemple remplacer /point_de_montage par /windows

Il faut ensuite avoir accès au NAS. Le QNAP est sous Linux, on a donc la possibilité d’utiliser le protocole NFS, plus rapide est plus stable que le portage samba sous Linux.

Pour ceci, la commande est la suivante :

mount -t nfs 192.168.66.111:/nas /nas/

Pour mettre en place le partage sur votre NAS, fiez vous à votre doc, la plupart du temps, la manœuvre est très simple, et se fait par interface graphique.

Configuration

La partie backup à proprement parler débute ici.
On pourrait se contenter de faire une simple copie des fichiers sur le NAS. Mais admettons que vous vouliez connaitre le contenu d’un fichier d’il y a 5 jours ? Avec le principe de copie, le fichier est écrasé à chaque backup. Nous allons donc faire ce qu’on appelle des sauvegardes "incrémentales". Cela consiste à faire une première sauvegarde le jour J. La sauvegarde du jours J+1 ne sauvegardera que ce qui est différent, mais conserve aussi les données au jour J. On a donc un gain de place et un historique.

La configuration se fait dans le fichier /etc/rsnapshot.conf. Éditez donc ce fichier :

# nano /etc/rsnapshot.conf

Bien que le fichier soit particulièrement long, seul quelques lignes nous intéresse :

snapshot_root /backup/ # Le répertoire vers le quel le backup va être fait
interval        daily   14 # La longueur de l'historique que vous voulez gardez, ici 14 jours
backup        /etc/        localhost/ # les répertoires que l'ont sauvegarde, et la destination
backup        /usr/     localhost/

Remarque :
- Un répertoire doit toujours être de la forme /rep/ et non /rep
- Aucun espace dans le fichier, seulement des tabulations.

Nous allons donc transformer ceci de manière à correspondre à notre environnent :

snapshot_root /nas/ # Puisque le Nas est monté sur /nas/
backup        /etc/       #On backup /etc/
backup        /point_de_montage/ #Et le montage des fichier Windows

Remarque :
- Rien ne vous empêche de backuper plus de dossier. Vois même de monter plusieurs partage Windows, provenant de plusieurs PC.

La configuration est terminé :)

Il ne reste plus qu’a lancer le backup :

rsnapshot daily

La procédure peut être longue lors de la première exécution.

Une fois ceci effectuer, rendez vous dans /backup

Tux:~# cd /backup
Tux:/backup# ls
daily.0

Vous voyez un répertoire daily.0

Ceci correspond à la dernière version de vos données. Refaites donc un rsnapshot daily.

Tux:/backup# ls
daily.0 daily.1

daily.0 correspond a la dernière versions, daily.1 à la version précédente.

Il y aura autant de daily.n que votre fichier de conf l’autorise :
interval daily 14

Il est donc très facile de récupérer un fichier à la date J-5, il sera dans daily.5 .

Pour automatiser la tâche : Crontab

Liens utiles

- Site officiel de RSnapshot
- Site officiel de RSync
- Site officiel de QNAP

- Sur Wikipédia :

- Sur Exhaustif :

 [2] La version Lenny est nécessaire pour une question de stabilité. En effet, en raison d’un bug du noyau, une synchronisation peu rendre les disques inutilisables. Si vous avez actuellement une debian Etch, et que vous êtes sur qu’aucun problème de compatibilité ne risque de se produire, il vous suffit de modifier votre /etc/apt/source.list comme suit :

#Dépôt Sécurité deb http://security.debian.org/ lenny/updates main contrib deb-src http://security.debian.org/ lenny/updates main contrib

#Dépôt de base deb ftp://mir1.ovh.net/debian/ lenny main non-free deb-src ftp://mir1.ovh.net/debian/ lenny main

En suite, un simple

# apt-get update
# apt-get dist-upgrade
# reboot

Le reboot est nécessaire, à cause des mises à jour du Kernel.

 


Actualités liées

11/02 Sortie de TrueCrypt version 5 Sortie de TrueCrypt version 5
5/12 Top 10 des pertes de données Top 10 des pertes de données
3/08 Découvrez JkDefrag Découvrez JkDefrag
30/07 Nos députés découvrent Ubuntu Nos députés découvrent Ubuntu
19/07 La licence GNU GPL passe en version 3 La licence GNU GPL passe en version 3
Chroniques liées

novembre 2012 Générer des mots de passe en ligne de commande linux/unix Générer des mots de passe en ligne de commande linux/unix
septembre 2008 Sauvegardes incrémentales avec rsnapshot Sauvegardes incrémentales avec rsnapshot
septembre 2008 Configuration d’une replication MySQL Configuration d’une replication MySQL
septembre 2008 Installation de RoundCube sous Debian Installation de RoundCube sous Debian
mars 2008 Installer un serveur svn sous Debian Etch Installer un serveur svn sous Debian Etch