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
Autres articles:
- Qui n'a jamais cassé son install d'Ubuntu ? Alors pour...
- " L'erreur est humaine " et effacer des données par...
- Parfois, les gens ont besoin de faire une réinstallation complète...