Sauvegarder ses données sous Ubuntu

disque externe AluICE Sauvegarder ses données, c’est primordial. On remet toujours cette tâche à plus tard, et quand un beau jour le disque dur lâche, il est trop tard, il ne reste que les yeux pour pleurer. Aujourd’hui, nous disposons pourtant d’une arme fatale : le disque dur externe.

Heureux possesseur d’un disque externe AluICE 1 To avec contrôleur ESATA (on peut l’acheter en kit sur internet, 20 € de gagné pour quatre vis à serrer), il était temps d’automatiser tout ça.

Voilà donc comment je me suis organisé, en fonction de mes besoins et de ce que j’ai pu trouver comme solutions.

Sauvegarder quoi (et avec quel outil) ?

Bien entendu, d’abord et avant tout, mes données personnelles. Sous Linux/Ubuntu, c’est assez simple, c’est le répertoire home qui contient tout. Il y aura juste quelques répertoires à exclure, comme par exemple la corbeille, les miniatures des images, etc…

Ensuite, d’autres répertoires volontairement situés ailleurs car assez volumineux. Par exemple mon site web local qui me sert de test avant de faire les modifs sur Free. Celui-ci se divise en deux parties : un site statique (html), et le blog wordpress.

=> pour ces deux premières catégories, j’utiliserai Areca Backup.

Il y a aussi de TRÈS gros répertoires, comme « Mes Images » ou « Ma Musique », avec des types de fichiers où le gain de compression est faible.

=> pour ceux-ci, rsync et un script feront très bien l’affaire.

Enfin, mon site chez Free : la base de données (chez Free, elle est unique), les fichiers du blog wordpress, mais aussi l’album Zenphoto. Ce dernier peut générer un gros volume, mais j’ai de la place (1 To, c’est 1000 Go…).

=> pour ce dernier cas, là aussi j’utiliserai un script fourni sur le site de la documentation Ubuntu francophone.

Sauvegardes locales

J’ai finalement choisi Areca backup comme logiciel de sauvegarde. Il existe aussi bien pour Windows que pour Linux (Java), est publié sous licence GPL (gratuit), avec une interface très complète et ergonomique. Il permet en outre de générer les scripts pour une exécution automatique. Très complet donc.

Que ce soit mes données personnelles ou les autres dossiers, le principe est exactement le même. Il existe un tutoriel sur le site, mais en anglais. En voilà un résumé :

Définition de l’espace de travail et du répertoire de sauvegarde

L’espace de travail sera l’endroit où Areca sauvegardera ses logs, par exemple dans son home. Le répertoire de sauvegarde est celui ou les fichiers seront sauvegardés, le répertoire sur le disque externe dans mon cas.

Lancer Areca, ouvrir la fenêtre des Préférences, puis sélectionner ces deux répertoires (ou les créer si ce n’est déjà fait) :

Areca - espace de travail

Areca - espace de travail

Créer un groupe

Ensuite, il faut créer un groupe. Ce n’est qu’une entité logique, afin de regrouper plus facilement vos sauvegardes. Chaque sauvegarde étant définie elle-même dans une cible.

Dans mon cas, cela donne ceci : un groupe « Mon site » comprenant deux cibles : « Mon site » et « wordpess-local », et un autre groupe « Pascal Home backup » pour la sauvegarde de mon home.

Areca - groupes

Créer une cible

Il faut maintenant créer la cible. Prenons la sauvegarde de mon home par exemple : sélectionner le groupe, puis click droit et choisir Nouvelle cible. Donner un nom à cette cible et choisir le répertoire de destination (Général) :

Areca - Général
Définir le répertoire à sauvegarder (Sources) :

Areca - Sources

Et les sous-répertoires à exclure (Filtres) :

Areca - Filtres

On peut aussi demander l’envoi d’un mail une fois le backup terminé (Post-traitements), option très pratique afin de s’assurer que la sauvegarde s’est bien passée, cela m’a été très utile, j’y reviendrai un peu plus loin. Pour le serveur SMTP, indiquer celui de votre fournisseur d’accès (on peut envoyer un mail de test pour vérifier le bon fonctionnement).

Areca - Mail

Voilà, tout est prêt. Le mieux est maintenant de simuler une sauvegarde : click droit sur la cible, et « Simuler un archivage« . Cela permet notamment d’identifier des répertoires à exclure que l’on aurait oublié (ce fût le cas pour .wine et .virtualbox dans mon cas : ces répertoires peuvent être très imposants en taille et je ne souhaite pas le sauvegarder).

Automatisation

Reste maintenant à automatiser tout ça. Et Areca Backup fournit un outil très pratique permettant de générer les scripts. Menu Edition -> Assistants -> Créer une stratégie, et remplissez par exemple comme suit :

  • Une archive tous les 1 jour, 7 fois
  • Puis, une archive tous les 7 jours, 3 fois
  • Puis, une archive tous les 28 jours, 5 fois

Areca conservera :

  • Une archive journalière des 7 derniers jours
  • Une archive hebdomadaire des quatre dernières semaines
  • Une archive mensuelle des six derniers mois
  • Une archive au-delà de 6 mois

Areca - stratégie

Trois scripts sont alors générés. Il n’y a plus qu’à les ajouter à cron (le daemon chargé des tâches planifiées sous Linux). Si vous n’êtes pas fan de vi, il existe gnome-schedule, un planificateur de tâches graphique similaire à celui de Windows.

Problème rencontré

J’ai constaté des erreurs dans le mail reçu après le backup, concernant des fichiers ou dossiers comportant des caractères accentués (à,é,è,…). En creusant un peu, je me suis rendu compte que le script s’exécutait bien en mode interactif, mais pas via cron. La solution consiste à ajouter la ligne suivante au début de chaque script :

export LANG="fr_BE.UTF-8"

Les TRÈS gros répertoires

J’aurai très bien pu continuer à utiliser Areca pour ces répertoires. Mais j’avais déjà utilsé rsync pour ce besoin, et j’ai conservé cette solution. L’avantage est qu’il fait une synchronisation de répertoires, il est donc très facile de récupérer immédiatement un dossier ou un fichier effacé par erreur. L’inconvénient est qu’il n’y a aucune compression.

Pour les deux répertoires « Mes Images » ou « Ma Musique », cela me convient parfaitement puisque j’ai de la place disque d’une part, et que la compression d’images ou de fichiers audio n’est guère performante d’autre part.

Le programme est installé par défaut. Les scripts sont on ne peut plus simple :

#!/bin/bash
rsync -a "/Ma Musique/" "/Edata/rsync-Musique"
#!/bin/bash
rsync -a "/data1/Mes Images/" "/Edata/rsync-Images"

Il n’y a plus qu’à l’ajouter dans les planificateur de tâches…

Sauvergarde de Free

Pour sauvegarder à la fois ma database et tous mes fichiers chez Free, la très bonne documentation française fournit un script, avec toutes les explications nécessaires. Un super boulot.

Chez moi le paramètrage du script donne ceci, aux mots de passe près (chez Free, c’est le même utilisateur/mot_de_passe pour ftp et sql).

script free

Les lignes à renseigner sont marquées. Selon la taille de votre site et son contenu, la première sauvegarde peut être longue. Ensuite ça tourne tout seul…

Il n’y a plus qu’à l’ajouter dans les planificateur de tâches… et voilà ce que ça donne :

les tâches planifiées

Vous remarquerez que j’ai séparé en trois la sauvegarde de Free : la base de données, wordpress et zenphoto. Le script, très bien commenté, permet facilement de définir ce que l’on veut.

Voilà, mes sauvegardes sont maintenant totalement automatisées.

Dernière précaution

Il ne me reste plus, quand je m’absente pour plusieurs jours, qu’à débrancher le disque dur externe et le planquer quelque part… car si un cambrioleur passe et qu’il embarque tout le matériel (ça m’est déjà arrivé), il partira également avec les sauvegardes !! 🙁

Histoire d’optimiser mes chances…

4 réflexions sur « Sauvegarder ses données sous Ubuntu »

  1. Bonjour
    Je veux sauvegarder « MES DOCUMENTS » (textes,video) et pouvoir verifier si le contenu est bien grave.Car j’ai deja sauvegarde sur un cd mais impossible de lire ce que j’avais grave.Le systeme d’exploitation est UBUNTU

  2. Ajas : il faut différencier sauvegarder et graver. Si la taille totale de « Documents » est inférieure à la capacité d’un CD (700 Mo environ), alors ça va. Sinon, un graveur DVD te permettra d’aller jusqu’à 4Go environ.

    Car si tu es d’abord passé par un logiciel de sauvegarde, celui-ci a probablement compressé les données. Si tu as gravé le résultat de cette sauvegarde… alors il faut ouvrir ces fichiers avec ton logiciel de sauvegarde : lui seul peut le faire à priori.

    Sinon, avec Brasero (le graveur par défaut sous Ubuntu) tu pourras le faire facilement, et même le laisser renommer certains fichiers pour une compatibilité Windows. Libre à toi de faire d’abord une simulation, de réduire le vitesse de gravure pour réduire le risque d’erreurs, et de faire une vérification à la fin.

    Si plus généralement tu as un problème pour graver les CDs, je te conseille le forum ubuntu-fr, plus adapté.

  3. Bonjour,je veux sauvegarder des doc vers un serveur distant qui a une adresse « xxx.xx.xxx.xxx »,quand je crée mon script ,je ne remarque aucun changement,je vous passe le script ou cas ou vous remarquer une erreur:
    sav_complete_tous_les= »1 minute »
    rep_log=$HOME/www
    nom_du_site[0]= ks355830.kimsufi.com
    script_http[0]= ks355830.kimsufi.com:10000
    rep_sav_ftp[0]=
    serveur_ftp[0]=91.121.138.58 # adresse du serveur ftp
    utilisateur_ftp[0]=moslih # utilisateur ftp
    mdp_ftp[0]=xxx # mot de passe ftp
    liste_rep_ftp[0]= »/www »

  4. Adnane,

    Il me faudrait le script complet pour voir, mais une première remarque : le script mentionné dans l’article sauvegarde les données d’un site distant vers le PC local.

    Ce que tu veux faire, c’est l’inverse : sauvegarder de ton PC vers un site distant. Il faudrait « inverser » toute la logique du script. Sinon :
    – renseigner rep_sav_ftp que tu as laissé vide.
    – sav_complete_tous_les= »1 minute » n’est pas supporté par le script : il s’agit de la fréquence à laquelle tu veux à nouveau tout sauvegarder (sinon, le script ne sauvegarde que les nouveaux fichiers). L’unité minimale est « hour » (voir script).

    Mais je te conseille plutôt d’aller voir du côté de rsync (http://doc.ubuntu-fr.org/rsync), plus adapté à ce que tu veux faire.

    Sinon, un petit script tout simple ici :
    http://forum.ubuntu-fr.org/viewtopic.php?id=442569

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *