accueil > Compression et archivage > rsync

Maîtriser la commande rsync

Ce guide sur la commande `rsync` vous apprend à synchroniser et sauvegarder efficacement des fichiers et des répertoires sous Linux. Vous pouvez effectuer des copies et des synchronisations incrémentielles entre systèmes locaux et distants de manière sécurisée et rapide.

Options principales

Combinez les différentes options de la commande `rsync` pour configurer vos tâches de synchronisation et de sauvegarde.

1. Synchronisation de base

2. Modes de transfert et options

Commande générée :

Essayez de combiner les commandes.

Description:

`rsync` Exécute la commande.

Essayez d'exécuter virtuellement les commandes avec l'IA en combinant les options ci-dessus.

Principe de fonctionnement de rsync

`rsync` utilise l'algorithme de 'delta encoding' pour ne transférer que les parties modifiées des fichiers, utilisant ainsi efficacement la bande passante réseau. Cela le rend très rapide et efficace pour synchroniser de gros fichiers ou de nombreux fichiers.

Caractéristiques principales de rsync

Fonctions clés qui différencient `rsync` des autres outils de copie.

  • Transfert delta (Delta Transfer): Identifie et transfère uniquement les différences entre les fichiers source et destination. Au lieu de recopier l'ensemble du fichier, seuls les blocs modifiés sont transférés, maximisant ainsi l'efficacité.
  • Sauvegarde incrémentielle (Incremental Backup): Ne copie que les fichiers modifiés depuis la dernière sauvegarde, évitant ainsi la nécessité d'effectuer une sauvegarde complète à chaque fois, ce qui permet d'économiser du temps et de l'espace.
  • Synchronisation distante: Transfère des fichiers via un canal crypté en utilisant divers shells distants, y compris SSH, offrant ainsi une sécurité accrue.
  • Préservation des propriétés de fichier: En utilisant le mode archive (`-a`), toutes les propriétés des fichiers telles que les permissions, le propriétaire, le groupe, les horodatages et les liens symboliques sont conservées.

Importance de la barre oblique finale (Trailing Slash)

`rsync` accorde une grande importance à la présence ou non d'une barre oblique (`/`) à la fin du chemin source. - `source/`: Copie le **contenu** du répertoire `source`. (Ex: similaire à `cp source/* dest/`) - `source`: Copie le **répertoire lui-même** `source`. (Ex: similaire à `cp -r source dest/`) Ne pas comprendre cette différence peut entraîner des résultats inattendus.

Exemples d'utilisation

Établissez des stratégies de synchronisation et de sauvegarde à l'aide d'exemples pratiques de la commande `rsync`.

Synchronisation d'un répertoire local (mode archive)

rsync -av /path/to/source_dir/ /path/to/destination_dir/

Synchronise le contenu de `source_dir` vers `destination_dir`. Préserve toutes les propriétés telles que les permissions et les horodatages. Les fichiers absents dans `source_dir` ne seront pas supprimés de `destination_dir`.

Miroir d'un répertoire vers un serveur distant (sauvegarde)

rsync -avz --delete --progress /local/my_data/ user@remote_host:/remote/backup/

Miroir le contenu du répertoire `my_data` local vers le répertoire `/backup/` du serveur distant. Les fichiers absents dans l'original seront également supprimés dans la destination. Utilise la compression et affiche la progression.

Importer uniquement certains fichiers d'un serveur distant

rsync -avz --include='*.log' --exclude='*' user@remote_host:/var/log/ /tmp/logs/

Importe uniquement les fichiers `.log` du répertoire `/var/log/` sur le serveur distant vers le répertoire `/tmp/logs/` local.

Vérification des changements sans exécution réelle

rsync -avz --delete --dry-run /path/to/source/ /path/to/destination/

Ne transfère ni ne supprime réellement de fichiers, mais montre à l'avance quels changements se produiront. Il est toujours conseillé de l'utiliser avant une synchronisation importante.

Synchronisation en utilisant un port SSH différent

rsync -avz -e "ssh -p 2222" /local/src/ user@remote_host:/remote/dest/

Synchronise des fichiers avec le serveur distant en utilisant le port 2222 au lieu du port SSH par défaut (22).


Commandes de la même catégorie