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