Attic Backup, la sauvegarde incrémentielle sous Linux

J’avoue avoir un faible pour cette solution de sauvegarde incrémentielle depuis que je l’ai découverte. Pour rappel la sauvegarde incrémentielle prend en compte uniquement les dernières modifications faites par rapport à la précédente.

Par Cep

 

Certes, Attic Backup n’a pas encore l’ancienneté de solutions comme rsync par exemple et il faut suivre les demandes et observations faites sur le github du projet mais ses fonctionnalités me semblent tout à fait intéressantes pour une solution de sauvegarde poussées, telles que :
– l’espace utilisé pour la sauvegarde, 11 Go pour un répertoire d’origine de 26 Go,
– la possibilité de chiffrer les sauvegardes même si je suis toujours prudent avec cette fonctionnalité,
– l’utilisation possible de ssh,
– la possibilité de monter la sauvegarde réalisée comme un simple système de fichiers,
– les informations et listes possibles sur les backups, etc. etc.
Sur Debian Sid et Jessie Attic Backup est disponible dans les dépôts en version 0.13 donc la dernière version.
Sur Ubuntu 14.04 disponible en version 0.10-1, trop ancienne. Il est préférable d’installer par le tar ou par pip comme expliqué sur le site.
Quelques exemples basiques d’utilisation :
1/ Création du répertoire de sauvegarde :
:~$ mkdir /mnt/divers/save_home
2/ Initialisation du répertoire, une sorte de système de fichiers devant récupérer les différentes sauvegardes :
:~$ attic init /mnt/divers/save_home
Initializing repository at « /mnt/divers/save_home »
3/ Création de la sauvegarde de mon /home dans le répertoire initialisé, sauvegarde que l’on nommera save_home::18_nov :
:~$ attic create /mnt/divers/save_home::18_nov /home/cep
Initializing cache…
Ce /home faisant 26 Go la sauvegarde prendra une dizaine de minutes.
:~$ ls -l /mnt/divers/save_home/
total 10260
-rw-r–r– 1 cep cep  148 nov.  18 19:35 config
drwxr-xr-x 3 cep cep  8 nov.  18 19:35 data
-rw-r–r– 1 cep cep  7635 nov.  18 19:57 hints.1935
-rw-r–r– 1 cep cep 10485778 nov.  18 19:57 index.1935
-rw-r–r– 1 cep cep 28 nov.  18 19:35 README
:~$ du -sh /mnt/divers/save_home/
9,6G    /mnt/divers/save_home/

 

On va créer maintenant une seconde sauvegarde nommée save_home::18_nov_bis :
:~$ time attic create –stats /mnt/divers/save_home::18_nov_bis /home/cep

Archive name: 18_nov_bis
Archive fingerprint: 7e5b3edc091f6123344274a4f62ec453aa279165176dcf5c71d46108d3978838
Start time: Tue Nov 18 20:11:00 2014
End time: Tue Nov 18 20:11:15 2014
Duration: 14.65 seconds
Number of files: 43362

Original size      Compressed size    Deduplicated size
This archive:               12.75 GB             10.98 GB              6.94 MB
All archives:               25.49 GB             21.96 GB             10.21 GB

 

Comme il n’y a presque pas eu de changements sur la source la réalisation en est pratiquement immédiate.
Puisque Attic Backup utilise un système de fichiers on va maintenant monter le backup comme si on avait affaire à un système de fichiers classique sur disque usb ou autre et cela avec fuse. Il faut donc que son utilisateur soit dans le groupe fuse. Au besoin l’y ajouter. Penser aussi à créer le point de montage. Dans cet exemple il s’agit de /mnt/build/attic. Donc la commande sera :
:~$ attic mount -v /mnt/divers/save_home::18_nov_bis /mnt/build/attic/
Mounting filesystem
et j’ai tout mon /home disponible sur le point de montage.
:~$ grep attic /proc/mounts
atticfs /mnt/divers/attic fuse ro,nosuid,nodev,relatime,user_id=1000,group_id=1000 0 0
Pour le démonter :
:~$ fusermount -u /mnt/divers/attic
Entre temps ‘jai continué de tester cette solution sur d’autres répertoires et réalisé une nouvelle sauvegarde de ce même /home mais auparavant je liste les sauvegardes du /home/cep disponibles par la commande :
:~$ attic list /mnt/divers/save_home
18_nov                               Tue Nov 18 19:57:08 2014
18_nov_bis                           Tue Nov 18 20:11:13 2014
Réalisation maintenant d’une nouvelle sauvegarde datée du 16 décembre :
:~$ attic create –stats /mnt/divers/save_home::16_dec /home/cep

Archive name: 16_dec
Archive fingerprint: 85642901f05a94834418204419975e1ba1316f6f127fa0886ac8a33c51387540
Start time: Tue Dec 16 18:01:07 2014
End time: Tue Dec 16 18:03:37 2014
Duration: 2 minutes 30.04 seconds
Number of files: 42000
Original size      Compressed size    Deduplicated size
This archive:               11.44 GB              9.71 GB            505.58 MB
All archives:               36.93 GB             31.66 GB             10.72 GB
:~$ mkdir /mnt/divers/build/attic
:~$ attic mount -v /mnt/divers/save_home::16_dec /mnt/divers/build/attic/
Mounting filesystem
Utilisation maintenant de la commande info pour avoir des indications de cette sauvegarde :
:~$ attic info /mnt/divers/save_home::16_dec
Name: 16_dec
Fingerprint: 85642901f05a94834418204419975e1ba1316f6f127fa0886ac8a33c51387540
Hostname: nova
Username: cep
Time: Tue Dec 16 18:03:35 2014
Command line: /usr/bin/attic create –stats /mnt/divers/save_home::16_dec /home/cep
Number of files: 0
Original size      Compressed size    Deduplicated size
This archive:               11.44 GB              9.71 GB            505.58 MB
All archives:               36.93 GB             31.66 GB             10.72 GB
Je peux maintenant supprimer une ancienne archive par la commande :
:~$ attic delete /mnt/divers/save_home::18_nov_bis
Voilà ! Pour de plus amples informations voir le site du projet ou la documentation fournie avec le programme et que l’on trouve à :
/usr/share/doc/attic/html/index.html
Il faut d’ailleurs saluer le réel effort de documentation riche, de qualité, fournie pour ce projet. Et ce n’est pas toujours le cas.