====== rdiff-backup ====== Un remplacant plus souple et efficace que rsync, pour les backups. C'est incremental, et permet la restoration selon une date... Liens: *http://rdiff-backup.nongnu.org/examples.html *Linux Mag Hors-Série N°45 (Dec/Janv 2010) ===== Bases ===== ==== Package ==== # aptitude install rdiff-backup ==== Backup ===== | :!: pour que **''rdiff-backup''** fonctionne en "remote", il faut les __même versions__ | $ rdiff-backup | | Ce qu'on veut sauvegarder: répertoire source local __OU__ répertoire source distant | | | Où l'on veut placer la sauvegarde: répertoire destination local __OU__ répertoire de destination distant | **''rdiff-backup''** doit être installé sur la , 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