Artheriom

Développeur & Étudiant à l'Université Clermont-Auvergne

Debian – Sauvegarder en incrémentiel

Plop,

Un petit billet rapide pour vous parler de la sauvegarde incrémentielle des données. En 2017, il parait invraisemblable de ne pas avoir une copie récurrente de ses fichiers effectuée dans un lieu sûr. Ca peut être, si vous vous auto-hébergez, un disque dur externe ou un NAS, ou si vous louez un hébergement (ce qui est mon cas), soit un petit serveur annexe qui vous sert aussi de “Failover” au besoin, ou bien un accès FTP sur une machine externe fournie par votre hébergeur, comme c’est le cas chez Online.

Cependant, dans mon cas, un backup “complet” de mon serveur, c’est plus de 80Go de données (j’héberge mon serveur de fichiers cloud etc, d’où l’énorme volume). 80Go par sauvegarde, c’est un peu lourd. Et un jour, Dieu Thorvalds et ses apôtres créèrent la sauvegarde incrémentielle. Et ils virent que c’était bon.

Pour résumer, le concept de la sauvegarde incrémentielle se base sur le timestamp de la modification de vos fichiers. Lors de la création de la première archive, tar va créer un fichier .list (absolument illisible pour un humain, au passage) qui va noter le timestamp de chaque fichier, et tous les ajouter dans l’archive. Puis, lorsqu’on voudra refaire la même archive, tar récupérera la liste qu’il avait crée, et n’ajoutera à l’archive que les fichiers ayant été modifié depuis le timestamp indiqué dans le fichier.

Comme dirais De Greef, avec un chapeau pffff, plus évident. Mais pour expliquer l’avantage de la sauvegarde incrémentielle, le plus simple est de faire un peu de mathématiques.

Admettons que votre serveur de stockage fait 240 Go. Vous avez comme moi, 80 Go à sauvegarder, et, dans la réalité, seul 5% de votre contenu change à chaque sauvegarde.

Avec une sauvegarde classique : Vous allez sauvegarder 80 Go à chaque fois : Votre backup sera plein au bout de 3 sauvegarde. La loose.

Avec une sauvegarde incrémentielle : Vous allez sauvegarder une première fois 80 Go, puis seulement les 5% différent par sauvegarde. 80*0.05 = 4Go. Vous allez donc remplir votre espace de stockage en 41 sauvegarde (Détail du calcul : ((240-80)/4)+1).

 

Aller, un petit exemple de la commande :
tar --create --file=web.tar --listed-incremental=/web.list /var/www
La syntaxe est simple :

  • tar –create : On créé une archive avec l’utilitaire tar
  • –file=web.tar : L’archive aura pour nom web.tar
  • –listed-incremental=/web.list : L’archive sera créé à partir du fichier list situé à /web.list
  • /var/www : On met le contenu de /var/www dans l’archive

Vous pouvez bien entendu utiliser la commande dans un script shell lancé via une crontask, comme moi ;-).

Il reste un seul bémol avec la sauvegarde incrémentielle : Admettons que vous souhaitez restaurer vos données au jour 21 à compter du début de la sauvegarde incrémentielle: Vous devrez décompresser la première archive, puis celle du jour 2,3,4, et ainsi de suite jusqu’à arriver à l’archive 21, afin d’avoir un backup en l’état. Pour éviter ce soucis, vous pouvez envisager de re-créer une archive complète pour ne pas avoir ce soucis. C’est très simple, la suppression des fichiers .list généré par tar suffit à lui faire recréer une archive entière.

 

Aller, c’est pas tout, j’ai une livraison de morses à effectuer au Nicaragua. J’vous aime putain.

Previous Post

Leave a Reply

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

© 2018 Artheriom

Theme by Anders Norén