Retour au cours

sauvegarde et restauration : tar et rsync

Objectifs

  • Créer et extraire des archives de fichiers avec tar.
  • Compresser ces archives pour économiser de l’espace.
  • Synchroniser des dossiers de manière efficace avec rsync.
  • Comprendre les bases d’une stratégie de sauvegarde simple et robuste.

Pourquoi les sauvegardes sont-elles cruciales ?

Les pannes matérielles, les erreurs humaines, les bugs ou les attaques de sécurité peuvent entraîner une perte de données irréversible. Une bonne stratégie de sauvegarde (“backup”) est votre seule assurance.

tar : L’archiveur universel

tar (Tape ARchiver) est l’outil standard pour regrouper une arborescence de fichiers et de dossiers en un seul fichier (une “archive”). Il ne compresse pas par défaut, il se contente d’assembler.

Options fondamentales

  • -c (create) : Pour créer une nouvelle archive.
  • -x (extract) : Pour extraire les fichiers d’une archive.
  • -t (list) : Pour lister le contenu d’une archive sans l’extraire.
  • -f <fichier> (file) : Pour spécifier le nom du fichier d’archive.
  • -v (verbose) : Pour afficher les noms des fichiers pendant l’opération.

Compression

Pour économiser de l’espace, on compresse presque toujours une archive tar. On ajoute simplement une option à la commande :

  • -z : Utilise gzip. Rapide et très courant. Crée un fichier .tar.gz.
  • -j : Utilise bzip2. Plus lent, mais meilleure compression. Crée un .tar.bz2.
  • -J : Utilise xz. Très bonne compression, mais encore plus lent. Crée un .tar.xz.

Exemples tar

# Créer une archive compressée avec gzip du dossier 'mon_projet'
tar -czvf projet-backup.tar.gz mon_projet/

# Lister son contenu pour vérifier
tar -tf projet-backup.tar.gz

# Extraire l'archive dans le dossier courant
tar -xzvf projet-backup.tar.gz

rsync : La synchronisation intelligente

Créer une archive complète à chaque fois peut être long et gourmand en espace disque. Souvent, on veut juste synchroniser un dossier avec sa copie de sauvegarde. C’est le rôle de rsync.

La grande force de rsync est qu’il ne transfère que les différences entre la source et la destination, ce qui le rend extrêmement rapide et efficace pour les sauvegardes régulières.

Options courantes

  • -a (archive) : C’est un raccourci pour un ensemble d’options qui préservent les permissions, les dates, la propriété, etc. C’est l’option à utiliser dans 99% des cas.
  • -v (verbose) : Affiche des détails sur le transfert.
  • --delete : Important. Supprime les fichiers dans la destination qui n’existent plus dans la source. Permet de maintenir un miroir exact.
  • --dry-run : Simule l’opération sans rien toucher. Très utile pour vérifier ce que la commande va faire.

Exemple rsync

# Synchroniser un dossier vers un disque de sauvegarde
# Le slash à la fin de la source est important !
rsync -av --delete /home/alice/Documents/ /mnt/backup_disk/Documents/

# Lancer la commande une deuxième fois : rsync ne transférera que les fichiers modifiés.

Stratégie de sauvegarde 3-2-1

C’est une règle simple et très efficace :

  • 3 copies de vos données (l’original + 2 sauvegardes).
  • Sur 2 supports de stockage différents (ex: disque dur interne + disque dur externe).
  • Dont 1 copie hors-site (ex: sur un serveur distant dans le cloud).

Un script utilisant rsync pour synchroniser vers un disque externe et vers un serveur distant est un excellent moyen de mettre en œuvre cette stratégie.

Bonnes pratiques

  • Automatisez vos sauvegardes. Utilisez cron ou un timer systemd pour lancer vos scripts de sauvegarde la nuit.
  • Testez vos restaurations. Une sauvegarde n’a de valeur que si vous êtes capable de restaurer les données. Entraînez-vous régulièrement à extraire des fichiers de vos archives.
  • Sauvegardez ce qui est irremplaçable. Il est inutile de sauvegarder le système d’exploitation lui-même (on peut le réinstaller), mais vos documents personnels, vos bases de données et vos fichiers de configuration sont critiques.

Exercices

  1. Créer une archive :

    • Créez un dossier test_backup avec quelques fichiers texte.
    • Utilisez tar pour créer une archive compressée test_backup.tar.gz.
    • Supprimez le dossier original.
    • Utilisez tar à nouveau pour extraire les fichiers et vérifier que la restauration a fonctionné.
  2. Synchronisation avec rsync :

    • Créez deux dossiers : source et destination.
    • Ajoutez des fichiers dans source.
    • Utilisez rsync -av source/ destination/ pour les synchroniser.
    • Modifiez un fichier dans source.
    • Relancez la même commande rsync. Observez dans la sortie qu’il ne transfère que le fichier modifié.
    • Supprimez un fichier dans source et relancez la commande avec l’option --delete pour voir l’effet.