Sauvegarde de serveur avec rsync

Les options de récupération de fichiers sont limitées lorsque vous ne procédez pas à la sauvegarde régulière de votre serveur. C’est pourquoi, l’enregistrement de copies de sauvegarde doit tenir un rôle majeur dans la planification de votre serveur. Il existe de nombreuses solutions de sauvegarde, parmi lesquelles l’outil de synchronisation rsync, qui fait aussi office de protocole.

Backup Cloud IONOS

Finies les interruptions d'activité coûteuses ! Sauvegardez facilement les données de votre entreprise et bénéficiez d'un conseiller personnel.

Simple
Sûr
Intégré

Qu’est-ce que rsync et à quoi sert-il ?

Le nom rsync désigne un protocole réseau dédié à la synchronisation de fichiers. Il a été créé en 1996 et développé, entre autres, par Andrew Tridgell, le responsable du projet SAMBA. Outre ce protocole, il existe un outil de communication du même nom. L’application GPL sous licence peut être utilisée gratuitement et transfère les données d’un répertoire source vers le répertoire cible souhaité, soit localement, soit via un réseau public. Le volume et l’heure de création de chaque fichier sont comparés dans les dossiers source et cible, de sorte qu’à chaque synchronisation, seuls les fichiers modifiés sont copiés. Cette variante de sauvegarde incrémentielle présente l’avantage de pouvoir être réalisée rapidement, sans nécessiter beaucoup d’espace de stockage.

Note

rsync est disponible pour tous les systèmes d’exploitation UNIX courants, tels qu’OS/2, Linux ou macOS. Sur la base du Wrapper API Cygwin, il peut également être utilisé sous Microsoft Windows.

Parmi les scénarios opérationnels typiques de rsync, outre la sauvegarde de données et la génération d’un « serveur miroir » (copie exacte du serveur), il est également possible de procéder à la synchronisation des données d’entreprises comportant différents sites dont la connexion de données est instable. De nos jours, cependant, cette dernière fonction est de plus en plus souvent prise en charge par les technologies Cloud modernes, notamment parce qu’il est de plus en plus rare de ne pas posséder de connexion de données stable.

Vue d’ensemble des options rsync principales

Les sauvegardes rsync se distinguent par leur rendement élevé. L’approche incrémentielle permet de réduire la charge réseau au minimum, ce qui représente un avantage particulier pour les fichiers volumineux, peu importe que les modifications apportées à ces fichiers soient importantes ou limitées. En tant qu’outil de ligne de commande, rsync est exécuté, par défaut, à partir du terminal ou, sur un appareil Windows, via l’invite de commande. Les saisies doivent toujours reprendre la syntaxe suivante :

rsync -(-)options source destination

Les chemins d’accès Source et Cible (Destination) à saisir sont le répertoire de départ et le répertoire dans lequel la copie de sécurité rsync doit être enregistrée. À l’aide des options, développées ou abrégées sous forme de sigle, vous pouvez définir les paramètres individuels de vos sauvegardes rsync. Les paramètres principaux combinables sont indiqués dans le tableau suivant :

Option

Fonction

-r, --recursive

La sauvegarde rsync prend en compte l’ensemble des sous-répertoires

-u, --update

Instruction visant à ignorer les fichiers marqués comme plus récents dans le répertoire cible

-c, --checksum

Différenciation des fichiers source et cible à l’aide de sommes de contrôle

-l, --links

Les liens symboliques sont copiés tels quels (non pas en tant que fichiers)

-p, --perms

Les droits applicables aux fichiers sont conservés

-g, --group

Les droits des groupes applicables aux fichiers sont conservés

-t, --times

Les horodatages des fichiers (dernière modification) sont conservés

-o, --owner

Les droits des propriétaires du fichier sont conservés (administrateur uniquement pour le moment)

-D, --devices

Les données relatives aux appareils sont conservées

-z, --compress

Compression automatique des fichiers transférés

--compress-level=NUM

Définition du degré de compression ; une valeur (« NUM ») entre 0 (aucune compression) et 9 (compression maximale) est autorisée

-v, --verbose

Affichage de tous les détails pendant le processus de sauvegarde

-q, --quiet

Masquage de tous les détails du processus de sauvegarde (à l’exception des messages d’erreur)

-a, --archive

Mode d’archivage standard, identique à la combinaison d’options -rlptgoD

-n, --dry-run

Procédure de tests pendant laquelle aucune modification réelle n’est exécutée

-h, --help

Menu d’aide (uniquement disponible en l’absence de répertoires source et cible ou d’autres arguments)

--bwlimit=KBPS

Limitation de la largeur de bande (kilo-octets par seconde) ; par ex. --bwlimit=30 (limite de 30 kbits/s)

--exclude=MUSTER

Exclusion d’un modèle de la synchronisation ; par ex. --exclude fichier exemple (le dossier « Fichier exemple » n’est pas synchronisé.)

--delete

Suppression de tous les fichiers du répertoire cible qui ne sont pas présents dans le répertoire source

--progress

Affichage de la durée de la sauvegarde rsync, ainsi que de la vitesse de transfert

--list-only

Compilation d’une liste des fichiers au lieu d’une sauvegarde

--stats

Rapport complet sur les données transférées (nombre, volume)

--max-size=SIZE

Définition d’un volume de fichier maximal ; par ex. --max-size=10Mo (seuls les fichiers d’un volume inférieur à 10 Mo sont transférés.)

--ignore-errors

Empêche l’annulation du processus de sauvegarde en cas d’erreur

Création de sauvegardes rsync sur serveurs Linux

Pour exécuter rsync sur des systèmes d’exploitation Linux, installez le protocole dans le paquet du même nom et créez vos sauvegardes en vous aidant des commandes du terminal. Une autre possibilité est d’avoir recours à des applications telles que Back-in-Time, rsnapshot (pour les sauvegardes automatiques régulières) ou Unison, qui permettent le pilotage du processus de sauvegarde sur une interface graphique. Nous présentons ci-dessous l’exemple d’Ubuntu ainsi que les étapes les plus importantes dans l’installation et la mise en œuvre d’une sauvegarde de serveur grâce à rsync :

Par défaut, rsync est déjà installé sous Ubuntu. Si ce n’est pas le cas, installez-le via la commande suivante :

sudo apt-get install rsync

Si rsync est installé, utilisez les commandes de terminal de votre choix pour définir les répertoires source et cible, ainsi que les options de sauvegarde. Exécutez, par exemple, le mode standard (« Archive ») comme suit :

rsync -a source destination
Conseil

Il est conseillé de procéder à des tests (-n) afin de vérifier l’exactitude des paramètres et répertoires indiqués ; dans certains cas, l’utilisation de données erronées peut entraîner une perte de données. Toute erreur de copie de certains fichiers pendant le processus tient souvent à l’absence des droits d’accès nécessaires. Le cas échéant, essayez d’exécuter la commande en tant qu’administrateur. Faites-la précéder du paramètre « sudo ».

5 scénarios de sauvegarde rsync populaires

Si vous maîtrisez les commandes de base, rsync est, pour vous, un outil de première classe pour la copie de fichiers et la création manuelle de sauvegardes. Au choix, vous pouvez tester et appliquer des configurations de commande individuelles ou avoir recours à des combinaisons éprouvées des paramètres rsync disponibles. Les scénarios de sauvegarde rsync ci-dessous sont particulièrement populaires.

Sauvegarde standard avec mode d’archivage

Le mode d’archivage qui copie, par défaut, tous les fichiers du répertoire source dans le répertoire cible (y compris tous les sous-répertoires) et conserve l’ensemble des droits, horodatages et données d’appareil est, dans de nombreux cas, grâce à la combinaison de diverses options d’un même paramètre, la solution la plus simple. Combinez ce mode avec le paramètre -v pour obtenir, en outre, des informations d’état complètes pendant la procédure de sauvegarde.

rsync -av source destination

Copie 1 à 1 des fichiers du répertoire source

La commande rsync peut non seulement transférer des fichiers de A à B, elle peut également créer des copies conformes (1 à 1) des dossiers ou répertoires complets. Au terme de l’archivage standard, les fichiers présents dans le répertoire cible mais absents du fichier source avant l’exécution de la commande rsync sont ensuite supprimés.

rsync -av --delete source destination

Sauvegarde avec exclusion de certains formats de fichiers

Lorsque vous souhaitez procéder à une sauvegarde mais en exclure certains formats de fichiers, vous pouvez utiliser le paramètre --exclude. Ce paramètre vous permet de définir un modèle de caractères individuels indiquant à rsync qu’un fichier doit être ignoré. Dans l’exemple de code suivant, on souhaite ignorer les fichiers au format .txt :

rsync -av --exclude'*.txt' source destination

Sauvegarde des fichiers au volume minimal ou maximal défini

Si l’exclusion de certains fichiers lors de la sauvegarde rsync ne doit pas dépendre d’un modèle de caractères défini mais du volume du fichier, les paramètres --max-size ou --min-size doivent être utilisés. Avec la commande suivante, seuls les fichiers de minimum 10 Mo et maximum 100 Mo sont copiés :

rsync -av --min-size=10MB --max-size=100MB source destination

Sauvegarde avec conversion du format de caractères

Il peut arriver que des fichiers du répertoire cible doivent être convertis dans un autre format de caractères, lorsque vous souhaitez transférer des données d’un Mac sur un serveur Linux par ex. L’appareil Apple utilise, par défaut, le format UTF8-MAC. Celui-ci n’est pas compatible avec le système Linux et entraîne des problèmes avec les caractères spéciaux. L’option --iconv permet d’ajuster très simplement le codage des caractères dans le cadre du processus de sauvegarde rsync (de UTF8-MAC à UTF8 dans cet exemple) :

rsync -av --iconv=UTF8-MAC,UTF8 source destination