Rsync sur Ubuntu : Guide complet pour une synchronisation rapide des fichiers, la sauvegarde et le transfert à distance

目次

1. Introduction

Qu’est‑ce que rsync ?

rsync est un outil en ligne de commande conçu pour la synchronisation et la copie rapides et efficaces de fichiers et de répertoires. Il est largement utilisé sur les systèmes Linux et de type Unix, et grâce à son algorithme de transfert différentiel, il ne transfère que les différences entre la source et la destination. Cela le rend très performant même lorsqu’il s’agit de gérer un grand nombre de fichiers. Sur Ubuntu et de nombreuses autres distributions Linux, rsync est souvent installé par défaut, ce qui en fait un outil indispensable pour les administrateurs système et les développeurs.

Avantages d’utiliser rsync sur Ubuntu

Sur Ubuntu, rsync est extrêmement efficace pour les sauvegardes quotidiennes de fichiers et les tâches de synchronisation de répertoires. Sans recourir à des interfaces graphiques, vous pouvez réaliser des transferts de fichiers rapides — locaux ou distants — simplement en saisissant quelques commandes dans le terminal.

Il est particulièrement utile dans les situations suivantes :

  • Sauvegardes régulières vers des disques durs externes ou des appareils NAS
  • Synchronisation de dossiers de projet pendant le développement
  • Déploiement de fichiers vers des serveurs distants
  • Amélioration de la disponibilité grâce à la mise en miroir de fichiers

En quoi rsync diffère des autres commandes

Par rapport à la commande cp, rsync ne transfère que les différences entre la source et la destination, ce qui réduit considérablement le temps de traitement. Par rapport à scp, rsync offre la possibilité de reprendre le transfert après une erreur et un contrôle flexible de la bande passante. De plus, il peut préserver les attributs des fichiers tels que le propriétaire, les permissions et les horodatages, ce qui constitue un avantage majeur.

Objectif de cet article

Cet article explique comment installer et utiliser efficacement rsync dans un environnement Ubuntu, en s’appuyant sur des exemples de commandes pratiques et des cas d’utilisation réels. Pour que les débutants puissent démarrer sans difficulté, nous couvrons également les outils graphiques et les astuces de dépannage tout en apprenant rsync pas à pas.

2. Installation de rsync sur Ubuntu

Vérifier si rsync est préinstallé

Dans la plupart des environnements Ubuntu, rsync est déjà installé par défaut. Vous pouvez vérifier sa disponibilité avec la commande suivante :

rsync --version

Si les informations de version s’affichent, rsync est déjà installé et prêt à l’emploi.

Installer rsync s’il n’est pas installé

Si vous voyez un message tel que « command not found » ou « rsync : command not found », suivez ces étapes pour l’installer :

  1. Mettre à jour la liste des paquets :
    sudo apt update
    
  1. Installer rsync :
    sudo apt install rsync
    
  1. Vérifier l’installation :
    rsync --version
    

Si les informations de version apparaissent, l’installation a réussi.

L’installation via Snap ou d’autres méthodes est‑elle nécessaire ?

Sur Ubuntu, installer rsync via APT est la méthode la plus recommandée. Bien que des paquets Snap existent, la version APT est généralement suffisante et offre une meilleure stabilité ainsi qu’une meilleure compatibilité pour les cas d’usage classiques. À moins d’avoir une raison précise, APT reste la méthode privilégiée.

Notes d’installation

  • Sur les anciennes versions d’Ubuntu, il peut être nécessaire de mettre à jour les dépôts.
  • Les privilèges root sont requis, n’oubliez donc pas d’utiliser sudo.
  • Des connexions réseau instables peuvent entraîner des erreurs d’installation ; une connexion stable est recommandée.

3. Utilisation de base de rsync

Syntaxe de base de rsync

La syntaxe de la commande rsync est simple mais très flexible. La forme de base est :

rsync [options] source destination

Par exemple, pour copier le contenu de /home/user/documents/ vers /mnt/backup/ :

rsync -av /home/user/documents/ /mnt/backup/

Cette commande utilise les options suivantes :

  • -a : mode archive (préserve la structure des répertoires, les permissions, le propriétaire, etc.)
  • -v : sortie verbeuse (affiche les fichiers copiés)

Comportement du slash final

Dans rsync, la présence ou l’absence d’un slash final dans le chemin source modifie le comportement :

  • /home/user/documents/ (avec slash) → Seuls les contenus du répertoire sont copiés.
  • /home/user/documents (sans slash) → Le répertoire lui‑même est copié.

Ceci est un comportement spécifique à rsync critique qui doit être utilisé de manière appropriée en fonction de votre objectif.

Options couramment utilisées

OptionDescription
-aArchive mode (recursive and preserves attributes)
-vDisplays detailed transfer output
-nDry run (shows what would happen without executing)
--progressShows transfer progress
--deleteDeletes files in the destination that no longer exist in the source

Prévisualisation des actions avant exécution

Pour vérifier ce que rsync fera avant de transférer réellement les fichiers, utilisez l’option --dry-run :

rsync -av --dry-run /home/user/documents/ /mnt/backup/

Cela aide à prévenir la perte de données accidentelle.

Gestion des fichiers cachés

Par défaut, rsync inclut les fichiers cachés (ceux commençant par .), permettant également la synchronisation des fichiers de configuration et des paramètres d’environnement.

4. Synchronisation avec des serveurs distants

Synchronisation distante via SSH

L’un des plus grands avantages de rsync est sa capacité à synchroniser des fichiers avec des serveurs distants via SSH, garantissant des transferts de données sécurisés.

rsync -avz source user@remote_host:destination

Exemple :

rsync -avz /home/user/documents/ user@example.com:/var/www/backup/
  • -z active la compression pendant le transfert.
  • user@host spécifie la connexion SSH.

Première connexion et authentification par clé SSH

Lors de la première connexion, il se peut que l’on vous demande de confirmer l’authenticité de l’hôte. Tapez « yes » si c’est correct.

Pour une utilisation fréquente, l’authentification par clé SSH est recommandée afin d’éviter de saisir des mots de passe :

ssh-keygen -t rsa
ssh-copy-id user@example.com

Spécifier un port SSH personnalisé

Si le serveur distant utilise un port SSH non par défaut, spécifiez-le avec -e :

rsync -avz -e "ssh -p 2222" /home/user/documents/ user@example.com:/var/www/backup/

Remarques importantes sur la synchronisation bidirectionnelle

rsync effectue uniquement une synchronisation unidirectionnelle. Pour une vraie synchronisation bidirectionnelle, envisagez des outils comme unison.

5. Options utiles de rsync et exemples pratiques

Options avancées au-delà des bases

–delete : Supprimer les fichiers absents de la source

rsync -av --delete /home/user/source/ /mnt/backup/

Testez toujours avec --dry-run avant d’utiliser cette option.

–exclude : Exclure des fichiers ou répertoires spécifiques

rsync -av --exclude '*.log' --exclude 'node_modules' /project/ /backup/

–bwlimit : Limitation de la bande passante

rsync -av --bwlimit=5000 /data/ user@remote:/data/

Cas d’utilisation réels

Utiliser rsync pour les sauvegardes

rsync -a --delete /home/user/ /media/usb/backup/

Automatiser avec cron

0 2 * * * rsync -a /home/user/ /mnt/backup/ >> /var/log/rsync.log 2>&1

Équilibrer flexibilité et efficacité

rsync combine une flexibilité exceptionnelle avec une grande efficacité de transfert, en faisant un outil puissant pour une synchronisation de fichiers sûre et précise.

6. Outil GUI : Grsync

Recommandé pour les utilisateurs mal à l’aise avec la ligne de commande

Grsync est une interface graphique pour rsync qui permet aux utilisateurs de configurer et d’exécuter visuellement des tâches de synchronisation.

Installation de Grsync sur Ubuntu

sudo apt update
sudo apt install grsync

Utilisation de base

  • Spécifiez les chemins source et destination
  • Sélectionnez les options rsync via des cases à cocher
  • Configurez les modèles d’exclusion
  • Effectuez des simulations (dry runs) en toute sécurité

Gestion basée sur les profils

Grsync permet d’enregistrer les configurations sous forme de profils, facilitant la gestion de multiples tâches de sauvegarde ou de synchronisation.

Avantages et inconvénients

ProsCons
Intuitive GUI, no commands requiredSome advanced options are not available
Easy to understand optionsLess detailed output than terminal usage
Safe for beginnersLess flexible than direct rsync usage

7. Problèmes courants et solutions

Les permissions de fichiers ne sont pas conservées

sudo rsync -a /source/ /destination/

Les liens symboliques ne sont pas gérés comme prévu

  • Conserver les liens : utilisez -a
  • Copier les fichiers réels : utilisez --copy-links

Erreurs « Permission denied »

sudo rsync -a /source/ /destination/

Erreurs de connexion lors de la synchronisation distante

  • Vérifiez la connectivité SSH
  • Vérifiez les chemins de destination et les permissions

Erreurs « Argument list too long »

  • Utilisez des règles d’inclusion/exclusion
  • Divisez la synchronisation en lots plus petits

8. FAQ

Q1. Comment préserver la propriété et les permissions ?

R. Utilisez l’option -a.

Q2. Comment exclure des fichiers spécifiques ?

R. Utilisez --exclude.

Q3. Comment limiter l’utilisation de la bande passante ?

R. Utilisez --bwlimit.

Q4. Puis-je prévisualiser les actions avant l’exécution ?

R. Utilisez --dry-run.

Q5. Les fichiers cachés sont-ils copiés ?

R. Oui, par défaut.

Q6. Quelle est la différence entre rsync et scp ?

R. rsync prend en charge les transferts delta et la reprise, ce qui le rend plus efficace.

9. Résumé

Cet article a couvert l’installation de rsync, les usages de base et avancés, la synchronisation à distance, les outils GUI, le dépannage et les FAQ.

Pourquoi rsync est essentiel

  • Transferts rapides basés sur les delta
  • Préserve les permissions et la propriété
  • Synchronisation distante sécurisée
  • Très personnalisable avec de nombreuses options
  • Prend en charge l’automatisation via cron
  • Convient aux débutants grâce aux outils GUI

rsync est un outil fondamental pour les utilisateurs Linux. En maîtrisant ses bases et en appliquant progressivement les options avancées, vous pouvez atteindre une gestion de fichiers et des flux de sauvegarde de niveau professionnel.