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.
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.
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
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