GNU/Linux >> Tutoriels Linux >  >> Linux

15 exemples pratiques de commande Rsync sous Linux

La commande Rsync nous permet de transférer et de synchroniser des fichiers via une connexion SSH ou une machine locale sur différents répertoires et machines. Si jamais vous avez besoin de sauvegarder votre répertoire ou de synchroniser les données, le Rsync est l'un des meilleurs outils pour sauvegarder le système. L'utilisation de Rsync est beaucoup plus efficace que la simple copie de fichiers car Rsync ne copie que ce qui est différent.

Par exemple, si vous essayez de sauvegarder 1000 photos, le Rsync ne choisira que les fichiers spécifiques qui sont nouveaux ou différents depuis la dernière sauvegarde. Et aussi, si vous copiez des données et perdez la connexion réseau et relancez la commande Rsync, il saura où il s'est arrêté et n'aura pas à recommencer.

En tant qu'administrateur système Linux, vous devez connaître quelques exemples majeurs et pratiques de commandes Rsync sous Linux pour rendre votre expérience plus fluide.

Fonctionnalités de Rsync sous Linux

Ici, j'ajoute quelques fonctionnalités de base du Rsync. Vous pouvez parcourir les points ci-dessous pour un aperçu détaillé de la commande de synchronisation à distance qui vous aidera plus tard à comprendre les exemples de commandes Rsync sous Linux.

  • La commande Rsync peut copier des fichiers, des répertoires et des sous-répertoires.
  • Comme le Rsync utilise l'algorithme de transfert delta, l'outil ignore les fichiers déjà dans l'adresse de destination.
  • Le Rsync ignore le fichier qui est exactement le même que les systèmes client et hôte.
  • Vous pouvez utiliser Rsync à la fois sur SSH ou sur une machine locale.
  • Il peut exécuter les commandes tar tout en copiant des fichiers.
  • Dans la plupart des cas, le Rsync n'a pas besoin du sudo privilège.
  • Vous pouvez utiliser les commandes de pipeline avec Rsync pour transférer des fichiers plus rapidement et réduire la latence.
  • Pour copier des fichiers sur le Web, le Rsync utilise le protocole TCP.
  • Le Rsync peut réduire la quantité de bande passante requise.
  • Vous ne pouvez pas copier de fichiers entre deux ou plusieurs hôtes distants via Rsync sous Linux.

Syntaxe de synchronisation à distance sous Linux

Ici, j'ajoute quelques syntaxes les plus importantes et le synopsis du Rsync. Il est important de parcourir les syntaxes et les drapeaux pour mieux comprendre les exemples de commandes Rsync sous Linux.

Les formats de commande indiqués sont destinés au transfert de fichiers sur la machine locale.

rsync [OPTION...] SRC... [DEST]

Rsync utilise le format de commande donné pour transférer des fichiers via un shell distant.

- -
Pull :rsync [OPTION...] [[email protected]]HOST :SRC... [DEST]Push :rsync [OPTION...] SRC... [[email protected]] HÔTE :DEST

Rsync utilise le format de commande donné pour transférer des fichiers lorsqu'il accède à l'hôte en tant que démon.

Pull :rsync [OPTION...] [[email protected]]HOST::SRC... [DEST]rsync [OPTION...] rsync://[[email protected]]HOST[ :PORT]/SRC... [DEST]Push :rsync [OPTION...] SRC... [[email protected]]HOST::DESTrsync [OPTION...] SRC... rsync://[exemple @unixlinux.online]HÔTE[:PORT]/DEST

Installer Rsync sur Linux

Avant de passer aux exemples de commandes Rsync sous Linux, nous devons vérifier si l'outil est installé sur le système ou non. Par défaut, Rsync est préinstallé avec toutes les principales distributions Linux. Par conséquent, si vous constatez que l'outil n'est pas installé sur votre système, vous pouvez facilement obtenir l'outil Rsync sur votre machine. Ici, je répertorie les commandes des principales distributions Linux pour installer Rsync.

Obtenez Rsync sur Fedora et Red Hat Linux

sudo yum install rsync -ysudo dnf install rsync -y

Installer Rsync sur Debian/Ubuntu Linux

sudo apt install rsync -y

Vous pouvez obtenir l'outil Rsync à partir des commandes Snap sur les systèmes Arch Linux. Veuillez exécuter les commandes mentionnées ci-dessous respectivement pour obtenir l'outil Rsync sur Arch Linux. Tout d'abord, clonez le référentiel sur Linux.

git clone https://aur.archlinux.org/snapd.gitcd snapdmakepkg -si

Maintenant, exécutez les commandes de contrôle du système pour utiliser les sockets. Exécutez ensuite la commande Snap pour installer l'outil.

sudo systemctl enable --now snapd.socketsudo ln -s /var/lib/snapd/snap /snapsudo snap install rsync-leftyfb

Enfin, lorsque l'installation se termine, vous pouvez maintenant consulter la page d'aide de Rsync sur le shell du terminal.

$ rsync --help

Rsync sous Linux

Le Rsync est la forme abrégée de la commande de synchronisation à distance. Cet outil Rsync est disponible pour Mac et Linux. Dans les deux cas, les syntaxes et les styles de commande sont à peu près les mêmes. Désormais, lorsque nous parlons de synchronisation à distance, cela ne signifie pas nécessairement que vous devrez synchroniser ou copier des fichiers via SSH ou Internet.

Vous pouvez également exécuter Rsync sur la même machine pour synchroniser deux répertoires ou sous-répertoires différents. L'utilisation très efficace de Rsync est observée dans la mise à jour des référentiels de packages et des serveurs alternatifs ou miroirs.

Dans cet article, nous verrons quelques exemples des commandes Rsync les plus utilisées et les plus puissantes pour Linux.

Exemples Rsync sous Linux

Voici quelques exemples de base de la commande et du format Rsync sous Linux. Celui fourni ci-dessous est le format de commande, et le second est pour l'utilisation de Rsync sur SSH.

Sous Linux, le Rsync établira un lien via la connexion SSH lors de son exécution sur un environnement hôte-client. Lorsque l'utilisateur distant ou le client accepte la connexion, le client Rsync réveille automatiquement le Rsync sur le système hôte.

Format de commande général de Rsync

$ rsync [options] source [destination]

Format de commande Rsync pour les connexions SSH

$ rsync local-file [email protected]:remote-file

1. Commande de synchronisation à distance pour copier tous les fichiers du répertoire

L'exemple ci-dessous de la commande Rsync sous Linux copiera tous les fichiers de Documents dans le répertoire /tmp/documents.

$ rsync -av Documents/* /tmp/documents

Dans cette commande, nous avons utilisé trois drapeaux ; -a et -v, et le *. Voici l'explication de ce qu'ils font dans la commande.

  • -a :l'indicateur -a exécute la commande à la manière d'une archive/bibliothèque.
  • -v :le -v blag est utilisé pour exécuter le Rsync en mode verbeux.
  • – * :le symbole * garantit que tous les fichiers sont sélectionnés et copiés.

Maintenant, si nous ajoutons de nouveaux fichiers au répertoire d'origine et exécutons à nouveau le Rsync, il copiera les nouveaux fichiers et notifiera la sortie verbale dans le shell.

$ rsync -av Documents/* /tmp/documents

La commande mentionnée ci-dessous nous permettra d'effectuer un test pour savoir quels fichiers vont être synchronisés pour éviter les erreurs.

$ rsync -aunv /home/ubuntupit/Documents/* /home/ubuntupit/Pictures/

Après avoir exécuté un test de vérification, nous pouvons maintenant exécuter la commande réelle en supprimant l'indicateur -n sur la commande.

$ rsync -auv /home/ubuntupit/Documents/* /home/ubuntupit/Pictures/

2. Exemple de commande Rsync sur SSH

Jusqu'à présent, nous avons vu quelques exemples de Rsync sur la façon de l'exécuter sur une machine locale. Ici, nous verrons comment l'exécuter sur les serveurs. Toutes les syntaxes sont les mêmes; il vous suffit de saisir l'adresse du serveur Web et le nom d'utilisateur.

$ rsync -av --ignore-existing Documents/* [email protected]:~/all/

3. Exemples de Rsync sous Linux :Rsync à sec

En programmation, le terme dry run est défini comme l'exécution d'une commande juste pour voir un aperçu ou une fausse exécution pour vérifier ce qui pourrait arriver si nous exécutons la commande. Ici, nous pouvons également appliquer la commande de simulation pour Rsync.

Les exemples de commandes Rsync ci-dessous nous permettront de vérifier quels fichiers seront synchronisés sur le système hôte à partir du serveur Linux distant. Plus tard, nous pouvons exécuter la commande sans la simulation.

$ rsync -av --dry-run --update Documents/* [email protected]:~/all/$ rsync -av --update Documents/* [email protected]:~/all/ 

4. Synchroniser les fichiers entre la machine locale et le serveur distant

La commande ci-dessus montre comment envoyer des fichiers d'une machine locale à une machine locale ou d'un serveur à un autre hôte. L'exemple ci-dessous de Rsync montre comment vous pouvez utiliser l'outil pour envoyer des fichiers d'une machine locale à une machine Linux distante.

rsync [options] [fichiers] [nom d'utilisateur distant]@[adresse IP] :/[destination]

5. Transférer des fichiers du serveur distant vers la machine locale

Juste l'inverse de la commande ci-dessus, l'exemple mentionné ci-dessous de la commande Rsync montrera comment vous pouvez envoyer des fichiers du serveur Linux distant vers votre machine locale.

rsync -rv [email protected]:/home/ubuntupit/Backup /home/ubuntupit/Desktop/Original

6. Afficher la progression avec le Rsync

Celui-ci est très important pour ceux qui ont besoin de transférer des fichiers volumineux via l'outil Rsync. Par exemple, l'exemple ci-dessous de la commande Rsync montre comment vous pouvez surveiller et observer la progression du transfert dans la CLI sous Linux.

sudo rsync -rv --progress Original/* /etc/ubuntupit

Vous pouvez exécuter la commande Rsync avec l'indicateur "–include" pour ajouter un fichier spécifique au processus de synchronisation.

sudo rsync -vr --include 'I*' Original/ /etc/Backup/

7. Utilisez Rsync avec '–exclude' pour ignorer les fichiers

Avec Rsync, vous pouvez également utiliser une exclusion commande pour exclure tout fichier de votre commande. L'exemple ci-dessous de la commande Rsync sous Linux nous montre comment exclure un fichier que nous ne voulons pas synchroniser. Ici, j'ai exclu le fichier To_check_rsync_two (another copy).txt à synchroniser via cette commande Rsync sur mon système Linux.

$ sudo rsync -vr --exclude 'To_check_rsync_two (une autre copie).txt' /home/ubuntupit/Desktop/ /home/ubuntupit/Documents/

De la même manière, vous pouvez également inclure un fichier si vous souhaitez inclure avec force que vous pensez que rsync n'ajoutera pas par défaut.

sudo rsync -vr --exclude '*' --include 'I*' Original/ /etc/Backup/

Pour supprimer ou supprimer un fichier à synchroniser via la commande Rsync, vous pouvez utiliser l'indicateur -delete dans la commande sur le shell du terminal.

rsync -vr --delete /etc/Backup/ [email protected]:/home/ubuntupit/Backup

8. Définir la limite de taille maximale

Si vous utilisez une quantité limitée de données de bande passante sur un ordinateur et que vous devez transmettre plusieurs fichiers, mais que vous ne savez pas quand vous devez arrêter le transfert pour économiser votre bande passante, vous pouvez utiliser l'exemple de Rsync mentionné ci-dessous. commande pour limiter la taille maximale du transfert de fichiers.

rsync -vr --max-size='200k' /etc/Backup/ [email protected]:/home/ubuntupit/Backup

9. Supprimer automatiquement les fichiers source après un transfert

Si votre PC hôte dispose d'un espace disque limité et que vous souhaitez supprimer le fichier simultanément après l'avoir transféré dans votre système, vous pouvez utiliser l'indicateur de suppression avec la commande Rsync sur le shell du terminal Linux.

$ rsync -vr --remove-source-files Original/* [email protected]:/home/ubuntupit/backups/

10. Synchronisez l'ensemble des fichiers avec la synchronisation à distance

Jusqu'à présent, nous avons vu la commande Rsync synchroniser uniquement les fichiers qui n'ont pas été édités ou modifiés. Mais si vous souhaitez synchroniser tous vos fichiers modifiés et non modifiés, vous pouvez utiliser la commande Rsync ci-dessous.

rsync -vrW Original/* [email protected]:/home/ubuntupit/Backup

11. Arrêter la synchronisation des fichiers modifiés dans la destination

Après avoir sélectionné un système entier, si vous ne souhaitez pas synchroniser un fichier ou un dossier spécifique, vous pouvez attribuer ce chemin à la commande Rsync afin que l'outil Rsync ignore le chemin pour la synchronisation.

rsync -vu Original/* [email protected]:/home/ubuntupit/Backup

12. Ajoutez l'indicateur -i pour surveiller la différence

Pour voir la différence entre le fichier d'origine et le fichier après la synchronisation, veuillez utiliser un indicateur i avec la commande.

rsync -avzi Original/ Sauvegarde/

13. Utiliser la synchronisation à distance pour copier uniquement la structure du répertoire

Cette commande est très intéressante pour ceux qui souhaitent copier ou transférer le fichier; vous pouvez maintenant utiliser la commande rsync pour voir la structure du répertoire via la commande rsync.

rsync -av -f"+ */" ​​-f"- *" /home/ubuntupit/Desktop/Original/ /home/ubuntupit/Documents/

14. Ajouter un horodatage au nom du répertoire

Pour inclure un horodatage sur le fichier lors de son transfert via l'outil de synchronisation à distance, vous pouvez utiliser le format d'horodatage ci-dessous à la commande pour l'emplacement de destination.

Répertoire de destination :$(date +\\%Y-\\%m-\\%d)sudo rsync -rv /home/ubuntupit/Documents/* /etc/$(date +\\%Y-\ \%m-\\%d)

15. Copier plusieurs fichiers à distance

Jusqu'à présent, nous avons vu comment copier et transférer un seul fichier d'un serveur distant vers une machine locale ou vice versa d'un PC hôte vers la machine locale. Nous allons maintenant voir comment ajouter plusieurs fichiers et les transférer via une seule commande Rsync. Pour ajouter plusieurs fichiers, nous devons spécifier tous les chemins de fichiers dans la commande.

rsync -vr /home/ubuntupit/Documents/To_check_rsync.txt /home/ubuntupit/Desktop/To_check_rsync_two.txt /home/ubuntupit/rsync -vr /home/ubuntupit/Documents/To_check_rsync.txt /home/ubuntupit/Desktop /To_check_rsync_two.txt [email protected]:/home/ubuntupit/Backup

Insights !

Comme la commande Rsync est écrite dans le langage de programmation C et fonctionne comme une application à thread unique, cet outil peut facilement communiquer avec le noyau et d'autres applications. Dans l'intégralité de l'article, nous avons vu l'outil Rsync et des exemples de la commande Rsync sous Linux pour transférer efficacement des fichiers sur des machines et des serveurs.

Vous pouvez même synchroniser les serveurs apache à l'aide de la commande Rsync avec une configuration et des connaissances appropriées. Dans certains cas, la commande Rsync peut être associée à la commande checksum qui peut effectuer si le fichier a été modifié ou non. Si vous êtes plus intéressé par Rsync, vous pouvez également essayer l'outil Rsync basé sur l'interface graphique.

Veuillez le partager avec vos amis et la communauté Linux si vous trouvez cet article utile et informatif. Nous vous encourageons également à écrire vos opinions concernant ce message dans la section des commentaires.


Linux
  1. Commande cp sous Linux :7 exemples pratiques

  2. Commande d'arrêt de Linux :5 exemples pratiques

  3. 10 exemples pratiques de commandes Linux nm

  4. 7 Exemples de commandes Linux df

  5. 8 Exemples de commandes Linux TR

12 exemples pratiques d'In Command sous Linux

5 exemples pratiques de la commande Tail sous Linux

commande echo sous Linux :7 exemples pratiques

Exemples de commandes Linux rsync

Commande Ping pratique dans des exemples Linux

Exemples de commandes id sous Linux