Table des matières
rdiff-backup
Un remplacant plus souple et efficace que rsync, pour les backups. C'est incremental, et permet la restoration selon une date…
Liens:
- Linux Mag Hors-Série N°45 (Dec/Janv 2010)
Bases
Package
# aptitude install rdiff-backup
Backup
rdiff-backup fonctionne en “remote”, il faut les même versions |
$ rdiff-backup <SOURCE> <DESTINATION>
<SOURCE> | Ce qu'on veut sauvegarder: répertoire source local OU répertoire source distant |
<DESTINATION> | Où l'on veut placer la sauvegarde: répertoire destination local OU répertoire de destination distant |
rdiff-backup
doit être installé sur la <DESTINATION>, bien sur.
Exemple:
Local Local:
$ rdiff-backup ~/devel/youIncube-project ~/backup/devel/youIncube-project
Local Remote (via ssh):
$ rdiff-backup ~/devel/youIncube-project backups.nasa.gov::/home/tj/backup/devel/youIncube-project
Remote Local :
$ rdiff-backup thierry-jaouen.fr::/home/thierry/devel/youIncube-project ~/backup/devel/youIncube-project
Remote Remote:
$ rdiff-backup thierry-jaouen.fr::/home/thierry/devel/youIncube-project backups.nasa.gov::/home/tj/backup/devel/youIncube-project
En ajoutant, par exemple, -v5
, on augmente la verbosité.
Les données sont plus ou moins directement accessible dans le répertoire de destination… parce que c'est d'abord un mirroir !
Il y a juste un répertoire rdiff-backup-data
supplémentaire.
Restore
bases
Comme c'est un “mirroir”, on peut restore le dernier état assez simplement, par copie.
Mais on sera plus avisé de faire:
$ rdiff-backup --restore-as-of now backups.nasa.gov::/home/tj/backup/devel/youIncube-project icila
Ce qui “restore” le dernier état (current/now), dans le répertoire icila
(en le créant tout seul)
Equivalence:
–restore-as-of now | -r now |
Pour restorer la sauvegarde d'il y a …
10 jours | -r 10D |
35 heures | -r 35H |
un jour qui n'existe pas | -r 2009-09-31 |
2 semaines | -r 2W |
10 backups | -r 10B |
maintenant | now ou 0B |
Lorsqu'on devra ecraser certains fichiers pour les restorer, il faudra utiliser: –force
quelques fichiers ...
Il suffit de spécifier le sous-repertoire a partir de la source…
$ rdiff-backup --restore-as-of now backups.nasa.gov::/home/tj/backup/devel/youIncube-project/c_devel/include icila
bugs ?
- (Ca semble corrigé) Je trouve assez curieux qu'on ne puisse pas restorer à partir d'une source en “read-only”… le b-a-ba pour ne pas effacer une sauvegarde par erreur.
- Certains fichiers ont exclusivement les droits du créateur du backup ( et “root” ne peut pas les lire)
Delete too
Pour faire de la place, on peut demander a ce que les fichiers les plus anciens , qui ont été effacé, soient supprimés.
Exemple, effacer les fichiers (inutiles car effacés) vieux de 2 semaines:
$ rdiff-backup --remove-older-than 2W ~/backups/devel/youIncube-project
Usage avancé
Exclude et Include
$ rdiff-backup --exclude /proc / /mnt/backup
On exclut /proc
, et c'est bien.
On devrait aussi exclure /mnt/backup
(sinon, on a une boucle infinie), mais rdiff-backup
detecte ce genre de gaffe.
L'ordre a de l'importance. On peut Include
puis Exclude
, comme cela:
$ rdiff-backup --include /tmp/journal-fresh --exclude /tmp --exclude /proc / /mnt/backup
Et donc, /tmp/journal-fresh
sera sauvé, mais pas le reste de /tmp
.
informations
Liste des “increments” (backup?):
$ rdiff-backup --list-increments /mnt/backup
Liste des fichiers qui ont changés depuis…
$ rdiff-backup --list-changed-since 10D /mnt/backup
Liste des fichiers modifiers (depuis le dernier backup):
$ rdiff-backup --compare source backup