rdiff-backup : Sauvegarder vos données

Publié le 01 octobre 2009 par Dictege

rdiff-backup est un logiciel de backup qui permet faire une copie miroir d’un répertoire vers un autre (tout comme rsync ou une simple commande cp). Mais en plus, il conserve les anciennes versions des fichiers, ce qui vous permet de restaurer un fichier tel qu’il était à une date antérieure, ou de récupérer des fichiers effacés. Autre point fort, il n’enregistre que les parties modifiées des fichiers. Il est donc très rapide et économe en espace disque et bande passante.


Le backup le plus récent est une copie-miroir du répertoire source. Les backups des versions précédentes ne contiennent que les parties modifiées des fichiers par rapport au backup suivant.

Installation

sudo aptitude install rdiff-backup

Utilisation

Faire un backup

rdiff-backup /home/stephane /backup/home

Le backup de la toute dernière version de vos fichiers sera disponible dans /backup. Le répertoire /backup/home/rdiff-backup-data contient les différences avec les anciennes versions des fichiers.

Lister les backups disponibles

rdiff-backup -l /backup/home

En ajoutant –list-increment-sizes il est possible de voir la place occupée par chaque backup.

rdiff-backup -l --list-increment-sizes /backup/home

Supprimer les anciens backups

Par exemple, pour supprimer tous les backups de plus de 7 jours:

rdiff-backup --remove-older-than 7D --force /backup/home

Restaurer

Pour récupérer vos fichiers /source/monfichier.txt tel qu’il était il y a 7 jours (et on le met dans /source/ancien.txt):

rdiff-backup -r 7D /backups/monfichier.txt /source/ancien.txt

Il existe de nombreuses autres options, pour les afficher faites :

man rdiff-backup

Automatisation

Nous allons mettre en place un backup quotidien du répertoire /home/stephane vers /backup/home en gardant 30 jours d’historique. Nous excluons les fichiers de taille supérieure à 100 Mo. Le répertoire /backup est une unité de disque de sauvegarde.
Créer un script rdiff_backup_home dans /etc/cron.daily/ :

sudo vi /etc/cron.daily/rdiff_backup_home
#!/bin/bash
test -x /usr/bin/rdiff-backup || exit 0
logger "rdiff_backup_home: Suppression des anciens backups (>30 jours)"
/usr/bin/rdiff-backup --remove-older-than 30D --force /backup/home
logger "rdiff_backup_home: Backup du répertoire /home/stephane (fichiers <100Mo uniquement)."
/usr/bin/rdiff-backup --max-file-size 100000000 /home/stephane /backup/home
logger "rdiff_backup_home: Fin du backup."

Rendez ce fichier exécutable:

sudo chmod 755 rdiff_backup_home

A partir de maintenant, le répertoire /home/stephane sera sauvegardé quotidiennement.  rdiff-backup permettra de récupérer les anciennes versions des fichiers jusqu’à 30 jours en arrière tout en minimisant l’espace disque utilisé.

Pour forcer un backup, tapez: sudo /etc/cron.daily/rdiff_backup_home
Pour lister les backups effectués, tapez: sudo rdiff-backup -l /backup/home
Pour restaurer un fichier, exemple: sudo rdiff-backup -r 3D /backup/home/stepahne/file.txt

Partagez:

Autres articles:

  1. Qui n'a jamais cassé son install d'Ubuntu ? Alors pour...
  2. " L'erreur est humaine " et effacer des données par...
  3. Parfois, les gens ont besoin de faire une réinstallation complète...