Comment utiliser les commandes de l'outil rsync pour synchroniser sous un système Linux

Comme son nom l'indique, l'outil rsync est un outil de synchronisation. La première fois que vous l'utilisez, il vous suffit Copier des fichiers et des répertoires D'un endroit à l'autre. Toutefois, les utilisations ultérieures ne synchronisant que les différences entre ces sites, par conséquent, si vous ajoutez un fichier au répertoire source, rsync copie le nouveau fichier uniquement vers la destination. Cela permet d'économiser beaucoup de temps et de bande passante, en particulier lors de la copie vers un emplacement distant.

Comment maîtriser les commandes rsync sous Linux - Linux

Imaginez que vous disposez de 50 Go de données que vous devez synchroniser avec un serveur distant. Vous pouvez planifier l'exécution quotidienne de rsync. Au lieu d'avoir à copier le gigaoctet 50 dans son intégralité, l'outil n'enverra que des variantes. Cela peut signifier que vous devez charger quelques mégaoctets de données chaque jour, au lieu de gigaoctets.

Dans l'image ci-dessus, vous pouvez voir comment 104 MB a été déplacé pour la première fois, tandis que lors de la deuxième utilisation, les données requises sont uniquement 31KB.

Comment installer rsync sur diverses distributions Linux

Sur les distributions basées sur Debian et Debian, comme Ubuntu, vous pouvez installer rsync avec:

sudo apt install rsync
Comment maîtriser les commandes rsync sous Linux - Linux

sur FedoraInstallez-le avec:

dnf install rsync

Et les distributions dérivées de RedHat (Par exemple , CentOS):

yum install rsync

Pour installer rsync sur Arch Linux Utilisez la commande:

pacman -S rsync

sur openSUSE , Utiliser:

zypper install rsync

Si l’outil ne figure pas dans vos référentiels par défaut, consultez Rsync page d'installation openSUSE.

Comment utiliser rsync pour synchroniser des fichiers ou des répertoires locaux

Le format général de rsync est: rsync [options] / chemin / vers / source / chemin / vers / destination.

[options] désigne les options de ligne de commande que vous pouvez trouver dans le répertoire:

man rsync
Comment maîtriser les commandes rsync sous Linux - Linux

Cliquez sur q Pour sortir du guide.

Pour copier un fichier:

rsync /bin/ls .

La commande ci-dessus est équivalente rsync / bin / ls / home / votre_nom_utilisateur. Ceci copie la commande "ls" dans le répertoire dans lequel vous vous trouvez. Par défaut, cela devrait être / home / votre_nom d'utilisateur. Le point Pour rester dans le répertoire actuel. Les chemins peuvent être absolus (/home/votre_nom_utilisateur/Downloads/chrome.zip(Ou lié à votre répertoire actuel)Téléchargements / chrome.zip).

Lorsque vous traitez de très gros fichiers, vous pouvez utiliser cette commande:

rsync -P /path/to/file /path/to/destination

Cette progression apparaîtra et vous permettra de reprendre les transferts intermittents. Si vous avez besoin de reprendre, utilisez:

rsync -P --append path/to/file /path/to/destination

بدون --append , Le transfert est effectué depuis le début.

Pour synchroniser les annuaires:

rsync -av /path/to/source /path/to/destination

Exemple de commande:

rsync -av /bin .

Effet de fin de barre oblique sur rsync (Important)

Dans la note de commande précédente, le chemin du répertoire source ne contient pas slash / (/ bin vs / bin /). Sans barre oblique, rsync copie le répertoire lui-même. Alors rsync -av / bin. Conduisez à ce qui est montré dans l'image suivante.

Comment maîtriser les commandes rsync sous Linux - Linux

Lorsque vous utilisez la barre oblique, rsync copie le contenu dans ce répertoire. Dans ce cas, chaque fichier sera dispersé dans / bin Dans le répertoire de destination. Donc rsync -av / bin /. Cela se traduira par ce qui est montré dans l'image suivante.

Comment maîtriser les commandes rsync sous Linux - Linux

Cette différence est très importante à retenir, car l'utilisation de TAB pour compléter automatiquement les noms de répertoires ajoute une barre oblique à la fin. Gardez cela à l'esprit pour éviter de devenir désordonné dans le répertoire de destination.

Comment utiliser rsync pour se synchroniser avec des sites distants (par exemple, des serveurs)

Ce qui est décrit dans la section précédente est vrai lorsqu'il s'agit de sites distants. La seule différence est que vous devez entrer le nom d'utilisateur de connexion et l'URL du site distant à l'avance. Pour envoyer un répertoire / bin à un ordinateur distant, utilisez:

rsync -av /bin your_username@203.0.113.10:/home/your_username

Connecter rsync via OpenSSH. Cela signifie que vous devez configurer un serveur OpenSSH Et connectez les informations d'identification sur la destination distante précédemment. Notez que votre_nom d'utilisateur Indique le nom d'utilisateur créé sur le serveur. Cela peut être différent du nom d'utilisateur sur votre ordinateur local.

Si vous possédez un nom de domaine et que vous pointez sur l'adresse IP du serveur, vous pouvez utiliser le domaine dans la commande:

rsync -av /bin your_username@example.com:/home/your_username

Sur les transferts volumineux, il est également utile de compresser les données avant de les envoyer via le câble en ajoutant le paramètre -z:

rsync -avz /bin your_username@example.com:/home/your_username

Vous pouvez supprimer le paramètre Compression lors de l'envoi de fichiers déjà compressés (fichiers audio tels que MP3, vidéos et images JPEG). Il ne peut plus être compressé, vous allez donc perdre du temps en utilisant -z à ce sujet.

Pour copier des fichiers d'une destination distante sur votre ordinateur local, il suffit d'inverser les sites:

rsync -avz your_username@example.com:/bin /home/your_username

Conclusion

Cela couvre les commandes rsync les plus importantes que vous devez connaître. Si vous avez besoin de plus de contrôle sur la façon dont Synchroniser les annuaires , Parcourez le répertoire rsync sur Internet et faites défiler certaines pages jusqu’à ce que vous trouviez un "résumé des options".

Aller au bouton supérieur