Commande rsync Linux (synchronisation à distance)

La commande rsync Linux permet de transférer et de synchroniser efficacement des fichiers ou des répertoires entre une machine locale, un autre hôte, un shell distant, ou toute autre correspondance de ceux-ci. Toute personne travaillant avec des systèmes basés sur Linux devrait utiliser ce puissant utilitaire pour améliorer sa productivité. À l’aide de cet article, vous apprendrez tout ce dont vous avez besoin pour commencer à l’utiliser.

La synchronisation de dossiers ou la copie manuelle de fichiers peut être incroyablement longue. L’utilitaire rsync peut faire le plus gros du travail à votre place tout en ajoutant des fonctionnalités intéressantes pour gagner du temps. Même si vous perdez la connexion pendant le transfert, cet outil reprendra exactement là où il s’est arrêté, une fois la connexion rétablie.

Syntaxe de base

La syntaxe de base de rsync fonctionne comme suit :

rsync [modificateurs optionnels] [SRC] [DEST]

Il existe plusieurs façons dont vous pouvez utiliser rsync Linux. Dans cet exemple, [modificateurs optionnels] indique les actions à effectuer, [SRC] est le répertoire source, et [DEST] est le répertoire ou la machine de destination.

Syntaxe de base pour Shell distant

Lorsque vous utilisez un shell distant, tel que SSH ou RSH, la syntaxe de rsync sera légèrement différente.

Pour accéder au shell distant (PULL), utilisez la commande rsync :

rsync [modificateurs optionnels] [USER@]HOST:SRC [DEST]

Pour accéder au shell distant (PUSH), utilisez la commande rsync :

rsync [modificateurs optionnels] SRC [USER@]HOST:[DEST]

Comment vérifier la version Rsync

Avant de vérifier la présence de rsync, nous devons nous connecter au serveur VPS que nous utiliserons. Ce tutoriel utile vous montrera comment faire cela sur une machine Windows utilisant Putty SSH, mais si vous utilisez un ordinateur MacOS ou Linux, utilisez le terminal.

On trouve Rsync préinstallé avec de nombreuses distributions Linux. Vous pouvez vérifier si rsync est installé sur votre machine en exécutant la commande suivante :

rsync -version

Sur notre distribution Ubuntu, la commande a produit le résultat suivant :

rsync  version 3.1.2  protocol version 31

Cela signifie que la version 3.1.2 de rsync est déjà sur notre machine. C’est simple, non ?

Installation de Rsync

D’abord, si votre machine n’a pas rsync préinstallé, vous pouvez le faire manuellement en une minute ! Sur les distributions basées sur Debian comme Ubuntu, vous pouvez le faire en utilisant la commande suivante :

apt-get install rsync

Sur les distributions à base de rpm comme Fedora et CentOS, on utilise la commande suivante :

yum install rsync

Sous MacOS, utilisez la commande suivante :

brew install rsync

C’est tout ! Rsync Linux est prêt à synchroniser des données, à effectuer des transferts de fichiers et à supprimer des fichiers ! Vous pouvez vérifier si l’installation a réussi en utilisant la commande mentionnée ci-dessus :

rsync -version

Utilisation de Rsync

Pour commencer ce tutoriel, nous avons créé deux répertoires sur notre bureau Linux avec les noms Original et Double. Le répertoire original contient trois images, tandis que le répertoire double est vide. Voyons maintenant comment rsync va créer de nouvelles façons d’augmenter la productivité.

La commande suivante, lorsqu’elle est tapée dans la ligne de commande, copiera ou synchronisera tous les fichiers placés dans le répertoire d’origine vers le répertoire de duplication.

rsync original/* double/

* indique à la commande rsync de synchroniser tout ce qui se trouve dans le répertoire d’origine avec le double.

Si nous plaçons une nouvelle image ou un nouveau fichier dans le répertoire d’origine et que nous relançons la même commande, seule la nouvelle image sera copiée vers la destination.

Cette fonction est pratique lorsque vous copiez des fichiers sur un réseau à bande passante limitée.

Gardez à l’esprit que cette commande ne copiera que les fichiers du répertoire principal du dossier Original, mais pas ceux des sous-répertoires.

Si vous souhaitez également copier les sous-répertoires, utilisez cette commande :

rsync -r original/ double/

L’option -r (-récursif) indique à rsync de tout copier, y compris les sous-répertoires et les fichiers de notre dossier d’origine.

Le modificateur / utilisé après original indique à rsync de copier le contenu du répertoire original dans le dossier double.

Si vous souhaitez plutôt synchroniser les fichiers – copier les fichiers qui pourraient se trouver dans le dossier de destination, mais qui ne sont pas dans le dossier original – dans le dossier original, utilisez la commande suivante :

rsync -r original double/

Avec cette commande, nous pouvons être sûrs que les dossiers originaux et les dossiers dupliqués contiendront les mêmes fichiers.

Une autre option utile est -a (-archive), et elle peut être associée à de nombreuses autres commandes. Cela signifie qu’elle ne se contentera pas de copier les fichiers, mais qu’elle copiera également les autorisations, les heures de modification et toute autre date.

La commande -a ressemble à cela :

rsync -av --dry-run  original/ double/

Ne vous inquiétez pas si ça a l’air compliqué ! Faisons une analyse.

Cette commande n’affichera que les fichiers qui seront copiés sans faire de véritables modifications. Avec cette commande, vous pouvez obtenir une liste des fichiers qui seront copiés.

Si tous les fichiers sont ceux que vous voulez copier, relancez la commande sans –dry-run.

–dry-run (ou -n) fait en sorte que rsync effectue un essai qui n’apporte aucune modification.

-a active le mode archive

-v (-verbose), qui s’ajoute à -a pour faire -av dans notre commande, augmente la verbosité. C’est juste une façon fantaisiste de dire qu’en utilisant -v, vous obtiendrez un résultat visuel qui montre l’évolution du processus.

Si vous voulez synchroniser les deux dossiers, mais supprimer les éléments du dossier dupliqué, qui ne sont pas présents dans le dossier d’origine, ajoutez -delete, comme ceci :

rsync -av --delete  original/ double/

La dernière variable de commande que nous verrons est -z (-compress). Cette commande consolidera les fichiers qui sont transférés sur le réseau. En bonus, voyons comment effectuer un transfert du serveur source vers un autre. La commande ressemblerait à ceci :

rsync -za ~/bureau/original ismail@192.168.22.90:~/tmp/

Comme mentionné précédemment, -z compresse les fichiers, -a, ou en ajoutant simplement un a à -z, garantira que toutes les autorisations sont également copiées.

~/bureau/original est la source. C’est un répertoire local – celui qui se trouve sur la machine à laquelle vous êtes connecté, et enfin, ismail@192.168.22.90:~/tmp/ indique la destination. ismail@192.168.22.90 est l’adresse du serveur distant de destination, tandis que :~/tmp/ pointe sur un dossier spécifique de cette machine.

Conclusion

Nous n’avons couvert que la partie émergée de l’iceberg ! Pour conclure, rsync Linux est un utilitaire incroyablement puissant que tout administrateur de serveur ou développeur Linux devrait connaître. Nous avons tout couvert pour vous aider à démarrer, de l’installation aux commandes de base. Enfin, si vous voulez connaître les fonctionnalités plus avancées, consultez la documentation officielle !

Préparez-vous à améliorer votre productivité ! Bonne chance pour votre projet.

Author
L'auteur

Ismail

Ismail est un spécialiste du référencement et de la localisation chez Hostinger. Il est passionné par la technologie et le développement web et possède des années d'expérience dans le domaine informatique. Ses passe-temps incluent les jeux vidéo et le football.