Comment rsync un répertoire?

Comment rsync un répertoire?
Rsync signifie «synchronisation à distance."Il s'agit d'une méthode de synchronisation pour les répertoires et les fichiers qui fonctionnent à la fois localement et à distance. Cet outil utilise le «algorithme delta"Cela réduit la quantité de données copiées en transférant uniquement la partie modifiée des fichiers ou répertoires. Dans cet article, nous passerons par les bases de l'utilisation de cet outil pour synchroniser un répertoire.

Qu'est-ce que RSYNC?

RSYNC est un utilitaire compatible avec le réseau qui est très flexible en termes de synchronisation des fichiers et des répertoires. Il est inclus dans la plupart des distributions UNIX et Linux en tant qu'utilité populaire pour les scripts système et son utilisation généralisée sur ces systèmes d'exploitation.

Maintenant, consultons la syntaxe de base de la commande RSYNC.

Syntaxe RSYNC:

$ RSYNC Option Source Destination

Ici, «l'option» fait référence aux options RSYNC, «source» pour le répertoire source et «destination» pour le répertoire de destination.

Pour vous démontrer la méthode de synchronisation d'un répertoire dans Linux, nous avons créé deux répertoires de test, «TestDir1» et «TestDir2», dans notre système.

1. Répertoire RSYNC localement:

Tout d'abord, énumérez tout le contenu du répertoire pour connaître les fichiers ou les dossiers. Nous avons sélectionné «TestDir1» à cet effet.

$ ls -al ./ testdir1 /

Répertoire RSYNC avec l'option «-r»:

Pour la synchronisation directe, utilisez l'option récursive «-r» dans la commande rsync. La syntaxe fournie ci-dessous synchronisera le contenu de la source à son répertoire de destination. Le «/» pointe vers le contenu du répertoire source. Sans cette barre oblique, la commande RSYNC placera le répertoire source dans le répertoire de destination.

Écrivez cette commande pour commencer à synchroniser local un répertoire avec un autre.

$ RSYNC -R TestDir1 / TestDir2
$ ls -al ./ testdir2 /

Énumérez le contenu «TestDir2» pour afficher les modifications apportées par RSYNC.

Répertoire RSYNC avec l'option «-a»:

Vous pouvez également utiliser diverses options ou drapeaux que RSYNC supporte. Le drapeau "-a" est l'un d'eux. Cet drapeau aide la commande RSYNC à synchroniser un répertoire récursivement et à maintenir les fichiers de l'appareil, les temps de modification, les liens symboliques, le propriétaire, le groupe et les autorisations de fichiers.

$ RSYNC -A TestDir1 / TestDir2
$ ls -al ./ testdir2 /

Répertoire RSYNC avec l'option «-v»:

Pour afficher le processus RSYNC sur l'option Terminal «-v» est utilisé avec la commande RSYNC.

$ RSYNC -Anv TestDir1 / TestDir2

Pour vérifier la différence qui vient en utilisant un «/» à la fin du répertoire source, écrivez cette commande:

$ RSYNC -Anv TestDir1 TestDir2

La sortie indique clairement que maintenant le répertoire source est lui-même transféré.

Répertoire RSync avec l'option «-p»:

Le «-p» montre la progression du répertoire de synchronisation en affichant la barre de progression sur le terminal.

$ RSYNC -AZP TESTDIR1 TESTDIR2

Vous pouvez également utiliser la même commande pour reprendre les transferts interrompus.

$ RSYNC -AZP TESTDIR1 TESTDIR2

Pour vérifier si l'utilisation de la même commande RSYNC ne synchronise que la modification que nous avons apportée dans le répertoire, créez des fichiers de test dans votre répertoire source.

$ touch testdir1 / fichier 1… 10

Après cela, exécutez la même commande RSYNC et voyez le comportement intelligent de la commande RSYNC.

$ RSYNC -AZP TESTDIR1 TESTDIR2

2. Répertoire RSync du système local au système distant:

Le fonctionnement de la synchronisation d'un répertoire local avec tout système distant est connu sous le nom de «push», car il pousse le répertoire de votre système local vers le Remote.

Suivez la syntaxe de l'opération push pour synchroniser un répertoire:

$ RSYNC -A ~ / Source Nom d'utilisateur @ Remote_host: Destination

Dans notre cas, nous allons synchroniser le répertoire «TestDir1» à l'hôte distant «10.0.2.15 ”.

$ RSYNC -A ~ / TESTDIR1 Linuxhint @ 10.0.2.15: TestDir2

3. Répertoire RSYNC du système distant au système local:

Comme nous le savons tous, l'opposé de la poussée est «Pull."Dans le contexte de la synchronisation, Sync de l'opération Sync un répertoire du système distant à votre système local.

$ sudo rsync -v nom d'utilisateur @ distote_host: destination source
$ sudo rsync -v Linuxhint @ 10.0.2.15: / home / linuxhint / testdir1 / testdir2

Conclusion:

RSYNC est un outil qui peut améliorer la fiabilité de la synchronisation des répertoires locaux et du processus de transfert de fichiers sur les systèmes distants. Vous pouvez utiliser le Commande RSYNC Pour créer des sauvegardes complexes et un contrôle lisse sur quoi et comment un répertoire se synchronisera. Dans cet article, nous vous avons montré les différentes formes d'utilisation de RSYNC, qui comprend: répertoire RSYNC dans un système local, répertoire RSYNC du système local à un système distant, ainsi que de la distance à la télécommande à la télécommande locale.