GNU/Linux >> Tutoriels Linux >  >> Linux

Utiliser rsync pour synchroniser les fichiers

Utiliser rsync pour synchroniser les fichiers

Le but de cet article est de fournir une compréhension de l'utilisation de rsync outil.

Rsync signifie "synchronisation à distance" et c'est un outil efficace pour copier et synchroniser des fichiers ou des répertoires localement ou à distance. L'efficacité est obtenue en déplaçant uniquement les parties des fichiers qui ont été modifiées, au lieu de tout copier à nouveau.

Utilisation

Syntaxe

Le rsync la syntaxe est vraiment simple :

rsync [OPTIONS] SOURCE DESTINATION

Options

Voici quelques-unes des options les plus utiles à ajouter au rsync commande :

  • -v ou --verbose  :l'indicateur détaillé affichera des informations sur l'avancement de la tâche.
  • -a ou --archive :est égal à -rlptgoD. L'indicateur d'archive définit les options les plus courantes au lieu de les définir individuellement.

Voici les options définies avec -a qui peuvent également être définis un par un :

  • -r ou --recursive :récurrence dans les répertoires. Doit être utilisé lorsque vous devez copier tout le contenu d'un répertoire.
  • -l ou --links  :copie les liens symboliques en tant que liens symboliques, ne copie pas le fichier vers lequel ils pointent pour éviter les boucles vers d'autres répertoires.
  • -p ou --perms :préserve l'autorisation du fichier.
  • -t ou --times  :conserve les horodatages de modification d'origine.
  • -g ou --group  :conserve la propriété des groupes de fichiers.
  • -o ou --owner :conserve les propriétaires des fichiers.
  • -D :conserve les fichiers de l'appareil et les fichiers spéciaux. Vous pouvez utiliser les options --devices et --specials pour y parvenir.

Certaines autres options pouvant être utilisées sont :

  • -progress :affiche l'état d'avancement par fichier.
  • --max-size=SIZE  :évite de transférer des fichiers plus grands que la taille spécifiée.
  • --min-size=SIZE  :évite de transférer des fichiers plus petits que la taille spécifiée.
Chemins source et destination

Il est important de prendre en considération la manière dont les chemins source et destination sont spécifiés car une barre oblique peut modifier le comportement.

Par exemple, pour tout copier dans un répertoire appelé dans /home dans un autre appelé /new/destination/ le bon rsync la syntaxe serait :

rsync -a /home/ /new/destination

Pour copier le répertoire afin qu'un nouveau dossier appelé home est également créé dans le répertoire de destination, la syntaxe serait :

rsync -a /home /new/destination

Notez qu'une seule barre oblique après /home changera le résultat final.

Utiliser rsync avec un hôte distant

Lorsque vous avez un accès SSH à un hôte distant, il est possible d'utiliser rsync avec une syntaxe vraiment similaire. Pour copier le contenu de /home répertoire vers le /home/new répertoire dans un hôte appelé REMOTE_HOST une poussée opération est nécessaire. La syntaxe serait :

rsync -a /home USER@REMOTE_HOST:/home/new

Il est possible de récupérer des fichiers d'un hôte distant sur votre machine locale en utilisant rsync avec une traction opération. La syntaxe est similaire à celle mentionnée ci-dessus mais maintenant l'hôte distant est la source :

rsync -a USER@REMOTE_HOST:/home/new /home

Conclusions

Utiliser le rsync est un moyen fiable et efficace de synchroniser des fichiers entre des répertoires ou des hôtes. Une commande de copie traditionnelle ne conserverait pas toutes les propriétés des fichiers et prendrait plus de temps car elle copie tout.

Avec les options mentionnées dans cet article, il est possible de déterminer les propriétés qui doivent également être copiées et le rsync l'algorithme réduira le temps de la tâche en copiant uniquement les différences entre la source et la destination.

Articles liés

  • Copier des fichiers avec SCP et Rsync
  • Sauvegardez vos fichiers avec rsync

Linux
  1. Comment copier des répertoires de manière récursive à l'aide de rsync tout en excluant des fichiers spécifiques

  2. cp -r sans fichiers cachés

  3. Linux équivalent à robocopy ?

  4. rsync N fichiers les plus récents dans un répertoire

  5. rsync utilisant regex pour n'inclure que certains fichiers

Comment renommer des fichiers en utilisant la ligne de commande sous Linux

Comment synchroniser des fichiers et des répertoires à l'aide de Zaloha.sh

Reprendre les fichiers partiellement transférés via SSH à l'aide de Rsync

Comment sauvegarder des fichiers et des répertoires à l'aide de Rsync sous Linux

Rechercher du texte dans des fichiers sous Linux à l'aide de grep

Transférer des fichiers à l'aide de WinSCP