Sauvegarde des données entre les serveurs Instruction | INTROSERV
EUR
european

EUR

usa

USD

French Fr
Ex. VAT Ex. VAT 0%

Sauvegarde des données entre serveurs

Ce guide explique comment copier et sauvegarder des données entre des serveurs Linux à l'aide de rsync, ainsi que comment effectuer un clonage de disque de bas niveau avec dd.

Avant de commencer

Les commandes de ce guide sont exécutées sur le serveur source, c'est-à-dire le serveur depuis lequel les données sont copiées. Le serveur de destination doit être accessible via SSH, et l'utilisateur indiqué dans la commande doit disposer des droits de lecture sur le chemin source et des droits d'écriture sur le chemin de destination.

Pour vérifier l'accès SSH au serveur de destination avant de lancer une sauvegarde :

ssh user@destination_host

Remplacez user par le nom d'utilisateur distant et destination_host par l'adresse IP ou le nom d'hôte du serveur de destination.

Info

Pour les sauvegardes automatisées ou planifiées, configurez l'authentification SSH par clé plutôt que d'utiliser des mots de passe.

Copier un répertoire vers un serveur distant

Notez que la barre oblique finale dans le chemin source influence le comportement de rsync : /source/ copie le contenu du répertoire, tandis que /source copie le répertoire lui-même.

Utilisez toujours --dry-run avant d'exécuter des commandes avec --delete afin d'éviter toute perte accidentelle de données. Pour prévisualiser les éléments qui seront transférés sans effectuer de modification :

rsync -a --delete --dry-run -e ssh /path/to/source/ user@destination_host:/path/to/backup/

Après avoir vérifié le résultat, exécutez la même commande sans --dry-run. Ajoutez -P pour permettre la reprise d'un transfert interrompu et afficher sa progression :

rsync -a --delete -e ssh -P /path/to/source/ user@destination_host:/path/to/backup/

L'option -a préserve les permissions, les horodatages et les liens symboliques. L'option --delete garantit que la destination est un miroir exact de la source en supprimant les fichiers qui n'existent pas sur la source. Ajoutez -v pour afficher des informations détaillées.

Warning

L'option --delete supprime de la destination les fichiers qui ne sont pas présents sur la source. Ne l'utilisez pas si la destination contient des fichiers qui doivent être conservés indépendamment de la source.

Copier la plupart des fichiers système

Pour copier la majeure partie du système de fichiers tout en excluant les répertoires virtuels et temporaires :

rsync -aAXv --delete --one-file-system --numeric-ids \ --exclude={/dev/,/proc/,/sys/,/tmp/,/run/,/mnt/,/media/,/lost+found,/swapfi le} \ / user@destination_host:/path/to/backup/

Les options utilisées ici sont les suivantes : -a préserve les permissions, les horodatages, les liens symboliques et effectue la copie récursive ; -A préserve les ACL ; -X préserve les attributs étendus ; -v affiche des informations détaillées. L'option -H pour les liens physiques est volontairement omise : les liens physiques système n'ont pas besoin d'être répliqués dans une sauvegarde distante et leur conservation augmente la durée et la complexité du transfert. L'option --one-file-system empêche rsync de traverser d'autres systèmes de fichiers montés. L'option --numeric-ids préserve les valeurs UID et GID sans les associer à des noms d'utilisateurs, ce qui est important lorsque les serveurs source et destination utilisent des configurations d'utilisateurs différentes.

La plupart des chemins exclus utilisent une barre oblique finale pour exclure le contenu du répertoire tout en conservant le répertoire lui-même. /lost+found ne comporte pas de barre oblique finale, car c'est l'intégralité du répertoire qui doit être exclue, et non seulement son contenu. La même règle s'applique au chemin source : /source/ copie le contenu du répertoire, tandis que /source copie le répertoire lui-même.

Warning

Cette méthode ne crée pas une image système amorçable et ne doit pas être utilisée comme remplacement d'une sauvegarde complète du système. Pour obtenir des sauvegardes cohérentes de systèmes actifs, envisagez d'arrêter les services critiques ou d'utiliser des instantanés du système de fichiers, tels que les instantanés LVM, avant d'exécuter la commande.

Clonage complet d'un répertoire avec rsync

Pour effectuer un clonage complet d'une arborescence de répertoires en conservant les liens physiques, les ACL et les attributs étendus :

rsync -aAHXv /source/dir/ user@destination_host:/destination/dir/

Les options utilisées ici sont les suivantes : -a préserve les permissions, les horodatages, les liens symboliques et effectue la copie récursive ; -A préserve les ACL ; -H préserve les liens physiques, ce qui est important pour un clonage exact du répertoire ; -X préserve les attributs étendus ; -v affiche des informations détaillées.

Cloner un disque avec dd

Pour cloner un disque entier vers un autre disque sur le même serveur :

dd if=/dev/sdX of=/dev/sdY bs=1M conv=noerror,sync status=progress

Remplacez sdX par le disque source et sdY par le disque de destination. Les options conv=noerror,sync permettent de poursuivre la copie après des erreurs de lecture en remplissant les blocs endommagés avec des zéros. Si l'intégrité des données est critique, omettez ces options afin que dd s'arrête à la première erreur au lieu de remplacer silencieusement les blocs endommagés par des zéros.

Pour cloner un disque vers un serveur distant via SSH :

dd if=/dev/sdX bs=1M status=progress | ssh user@destination_host 'dd of=/dev/sdY bs=1M'

La destination peut également être un chemin de fichier plutôt qu'un périphérique bloc.

Warning

dd écrit directement sur le périphérique ou le fichier de destination sans demander de confirmation. Vérifiez attentivement la source et la destination avant d'exécuter la commande. Sur les systèmes actifs, démontez si possible toutes les partitions du disque source ou remontez-les en lecture seule. Pour réaliser des sauvegardes cohérentes de systèmes de fichiers montés, utilisez des instantanés LVM ou démarrez le système depuis un environnement de récupération.

Vérifier la sauvegarde

Après le transfert, connectez-vous au serveur de destination et vérifiez la taille de la sauvegarde ainsi que sa structure de base :

ssh user@destination_host du -sh /path/to/backup/ ls /path/to/backup/

Pour effectuer une vérification approfondie de l'intégrité, exécutez rsync avec les options --checksum et --dry-run. Cela compare le contenu des fichiers plutôt que leurs horodatages et signale les éventuelles différences :

rsync -av --checksum --dry-run /path/to/source/ user@destination_host:/path/to/backup/

Notez que cette opération peut prendre beaucoup plus de temps qu'une exécution normale de rsync sur de grands volumes de données.

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA