Howtos GNU/Linux .: kozaki :. Howtos GNU/Linux

Sauvegarde & synchronisation des données

De quand date votre dernière sauvegarde ? L'an dernier quand votre copine vous a appelé en larmes après qu'un BSOD a effacé sa thèse presque terminée ?

Humm. les disques durs lâchent. Comme si ça ne suffisait pas, la foudre peut frapper, une commande erronée peut (tout) effacer, et la liste des risques est aussi longue que la tête de qui pert ses précieuses données !

Sauvegarder : LA tâche que beaucoup repoussent... jusqu'à ce qu'une fausse manip ou une panne matérielle leur fasse regreter leur légèreté, souvent chèrement. Sauvegarder des dossier, une partition ou même un disque dur complet est pourtant simple ! En fait c'est un pli à prendre. Voici les outils disponibles sous Linux pour tout sauvegarder, y-compris Windows (coir aussi les "petites astuces pour éviter les grands drames" en section Liens.

À noter : On utilisera le pipe
le fait pour un programme d'envoyer au fur et à mesure les données qu'il traite à un autre programme
, extrêmement intéressant ici puisque les données copiées ou clonées peuvent être (dé)compressées en même temps qu'elles sont écrites : puissant ça :o)

Pré-requis

  1. Savoir ce qu'on veut sauvegarder (ex: documents, données, système) ? / sur quel support (ex : disque dur, bandes, médias optiques type CDRom ou DVD, sur le réseau ou en ligne) ? À quelle fréquence ? Manuellement ou automatiquement ?
  2. Disposer d'un système Linux installé ou LiveCD.
    Pour toute opération sur une partition voir les articles :
      - LiveCDs permettant le partitionnement, le déplacement de partitions... : GParted, PartedMagic, SystemRescue & TRK ;
      - Logiciels QParted ou Diskdrake.
  3. Activez le DMA :
    C'est fait automatiquement dans la majorité des cas. Mais si vous constatez une lenteur importante, il faut vérifier si le mode dma est bien activé. Voici comment l’activer sur le disque hda (passer en root) :
    hdparm -d1 /dev/hda (entrée).
    Pour l’activer sur un second disque, même commande en remplaçant "hda" par "hdb".
    Après ça, le temps de copie est divisé par 4 sur mon PC : environ 300 Mo au lieu de 80 Mo par minute.
    Détails sur le guide optimisation disques avec hdparm.

Sauvegarde complète

L'objectif de la sauvegarde totale (en anglais full backup) est de réaliser une copie conforme des données à sauvegarder sur un support séparé. Problème possible : lenteur (on sauve la totalité des données à chaque fois, y-compris les données non modifiées déja sauvegardées), disponibilité (nécessite des accès disques longs et intenses ainsi qu'une capacité de stockage importante). Avantage : elle permet d'obtenir une image fidèle des données à un temps "T". Ci-dessous la copie conforme de dossier, de partitions et le clonage de partitions ou de disques.

Copies conformes

Sauvegarde & restauration conforme avec cp

cp permet de sauvegarder ce qu'on veut, en préservant tous les attributs des dossiers et fichiers --du moins ceux supportés par le système de fichiers où est réalisée la sauvegarde.

Sauvegarder tout le contenu d'un répertoire

Ex:
cp -a -v /rep-a-sauver /la-ou-le-copier

Sauvegarder le contenu d'une partition

Pour sauvegarder le contenu d'une partition, la partition à sauvegarder et celle dans laquelle on copie le contenu doivent être toutes deux montées, on fera :
cp -a -v /partoche_à_sauver /partoche_ou_sauver
-a (--archive : Préserver au maximum la structure et les attributs du ou des fichier(s) original(~aux) lors de la copie ; égal à -dpPR.

La partition à sauvegarder et celle dans laquelle on copie le contenu doivent être toutes deux montées.
Principe : cp -a -v /partoche_à_sauver /partoche_ou_sauver
-a (--archive) : Préserver au maximum la structure et les attributs du ou des fichier(s) original(~aux) lors de la copie ; égal à -dpPR.

Par ex, copie conforme du contenu de la deuxième partition d'un disque dur IDE, vers la partition unique d'un disque dur externe (le disque peut être un IDE, Sata ou autre, les partitions aux formats ext2/3, FAT, FAT32, NTFS, ReiserFS, xfs, etc...) :
Si ils n'existent pas, créer les points de montage :
# mkdir /mnt/hda2 && mkdir /mnt/sda2.
Si ce n'est déja fait, monter les 2 partitions :
# mount /dev/hda2 /mnt/hda2 (voir les options FAT ou NTFS ci-dessous)
# mount /dev/sda1 /mnt/sda1
copier le contenu exact de la partition à sauvegarder vers le disque dur externe :
$ cp -a -v /mnt/hda2/ /mnt/sda2/ en simple user ou en "root" selon les droits sur la partition (le '-v' ne sert qu'à voir les éléments sauvegardés au fur et à mesure).

Restauration

C'est la même opération en inversant les 2 partitions...
Cas particulier : si la partition à restaurer utilise le système de fichiers NTFS.

Archiver, compresser et restaurer avec tar

Le principe est simple : prendre un (ou N) fichier(s) et/ou répertoire(s) et les regrouper en un seul gros fichier (éventuellement compressé). tar est une commande récursive.

tar est un outil d'archivage et donc de sauvegarde facile à utiliser. Il existe plusieurs interfaces graphiques (xarchiver, arK, 7Zip). tar crée une archive préservant tous les attributs des dossiers et fichiers, même si le système de fichiers où est réalisée la sauvegarde ne les gère pas tous.

Le nombre de possibilités est impressionnant, vous pourriez voir man tar. Thierry a proposé un script de sauvegarde semi-automatique sur le forum.

Sauvegarder le dossier ~/documents/dossier vers /media/sauvegardes/

$ tar cf /media/sauvegardes/dossier.tar -C ~/documents/dossier . Sauve tout le contenu de "dossier" dans l'archive "dossier.tar".
c --create (créer) ; f --file (suivi du nom de l'archive) ;
-C --directory= (se déplacer dans le dossier indiqué) ; . prendre tout le contenu de ce dossier.

Sauvegarder et compresser un dossier

Se placer dans le répertoire où on veut sauvegarder :
$ tar zcf /media/sauvegardes/dossier.tar.gz -C ~/documents/dossier . Sauve et compresse tout le contenu de "dossier" dans l'archive "dossier.tar.gz".
z --gzip (compresser avec gzip).

Par exemple, sauvegarder la partition Windows :
tar zcvf windows.tgz /mnt/wiwi (pour le NTFS voyez ntfsclone).
Restaurer votre Windows tout planté :
Formater la partition Windows en FAT32 :
mkdosfs /dev/la_partition_windows (efface tout !).
Remountez-la : mount -t vfat /dev/la_partition_windows /mnt/wiwi & placez-vous dans le répertoire /mnt/wiwi
Restaurez-y la sauvegarde :
tar zxvf /là_ou_vous_avez_mis_windows.tgz /mnt/wiwi.
Décompresser /restaurer une archive avec tar

$ tar xvf /media/sauvegardes/dossier.tar : extrait l'archive dans le répertoire courant (là où on est).
x --extract (extraire l'archive).

$ tar xvf /media/sauvegardes/dossier.tar.gz : extrait l'archive compressée dans le répertoire courant.

$ tar xvf /media/sauvegardes/dossier.tar -C \
/[la_où_on_veut_décompresser_l'archive]
: extrait l'archive dans le répertoire indiqué.
-C --direCtory= (se déplacer dans le dossier indiqué).

Sauvegardes automatiques (& incrémentales) avec Rsync

Voir Synchronisation ci-dessous

Interfaces graphiques de sauvegardes

conduit (GNOME)

Conduit est une solution de synchronisation sous GNOME.
Il permet à l'utilisateur de prendre ses emails, documents, bookmarks, et tout autre type d'information personnelle et de synchroniser ces données avec un autre ordinateur, un service en ligne, ou même un autre appareil électronique.
Conduit gère la synchronisation et la conversion des données vers d'autres formats. Par exemple, conduit permet de synchroniser ses données tomboy vers un fichier sur un ordinateur distant, ses emails vers son tél. mobile, ses bookmarks vers un site de partage / sauvegarde en ligne comme delicious, gmail, ou même son propre serveur web, ...

http://www.conduit-project.org/

Drakbackup : la sauvegarde sous Mandriva

2 assistants de configuration : Automatisé avec possibilité de sauvegarder le système et les comptes utilisateurs, ou Manuel avec choix de "Quoi, Où, Quand" sauver. La sauvegarde peut se lancer d'un clic, ou automatiquement.

  • Guide illustré de Drakbackup pour Mandriva 2008.0
  • Un guide illustré et très valable est disponible dans le package mandriva-doc-Drakxtools-Guide-fr. Après installation il est accessible depuis le menu > Documentation, ou directemet dans /usr/share/doc/mandriva/fr/Drakxtools-Guide/Drakxtools-Guide.html/drakbackup.html (mandriva 2008).

Sauvegarde incrémentale

La sauvegarde incrémentale (en anglais incremental backup) consiste à copier tous les éléments modifiés depuis la sauvegarde précédente. Ce type de sauvegarde permet de ne sauvegarder que les fichiers modifiés à chaque fois, et nécessite donc un espace de stockage plus faible. Il est donc indispensable de posséder les sauvegardes précédentes pour reconstituer la sauvegarde complète.

Synchronisation

Ou comment garder ses documents synchronisés entre plusieurs ordinateurs

Sauvegardes incrémentales (& automatiques) avec Rsync

Tutoriels : sauvegarde automatique avec Rsync

Gac Sebastien donne sa méthode simple & efficace pour sauvegarder automatiquement tout ou partie de vos données sur une autre partition (disque, etc) : Forum mandriva

Autre tuto sous Debian / Ubuntu : Automatiser les copies de sauvegarde avec rsync

Sauvegarde incrémentale et semi-automatique

Zeb_66 présente une autre méthode de sauvegarde, incrémentale et semi-automatique, à PERSONALISER avec quelques modifs mineures :

  • sauvegarde à la demande vers un disque externe.
  • montage du disque dans /mnt
  • élimination des "removable", obsolètes avec Mandriva 2007
  • copie des fichiers avec toutes leurs propriétés dans le dossiers /Systemes du disque externe
  • Gestion des exclusions à partir d'un fichier.
Tutoriels et liens sur rsync

UnisonSynchronisation avec Unison

Un outil de synchronisation de fichiers pour Unix/Linux & Windows. OK rsync le fait assez bien, mais si je modifie un fichier sur les 2 machines entre deux synchros il ne sait pas détecter les collisions, unison si !

Unison-2.17.1 GTK

Des guides et des exemples

sauvegarde auto Windows avec SyncBack

Sauvegarder les données de votre téléphone mobile

LiveMobileTools

LiveMobileTools est un live CD embarquant KMobileTools qui permet de sauvegarder les contacts et SMS de nombreux téléphones mobile avec un PC sous Linux. Il a été testé sur des téléphones mobiles Motorola, Nokia, Siemens, Sony Ericsson & LG. J'utilise KMobileTools pour transférer les données d'un téléphone Sony-Ericsson k750i.
Détails.

Sources & liens

Articles liés

Cet article n'existerait pas sans les pages suivantes. Merci à leurs auteurs d'avoir mis en forme et partagé leurs expérience et exemples :D

Trop cool pour Internet Explorer