Tuts terminaux

Top 20 des exemples de Rsync sous Linux

Top 20 des exemples de Rsync sous Linux

La commande Rsync (synchronisation à distance) est un utilitaire Linux/Unix utilisé pour synchroniser et copier des fichiers et des répertoires localement ou à distance. La plupart des geeks Linux utilisent Rsync pour mettre en miroir, sauvegarder ou migrer des données entre des dossiers, des disques et des réseaux. Une caractéristique notable de la commande Rsync est qu'elle utilise l'« algorithme de transfert delta."

L'algorithme de transfert Delta fonctionne en mettant à jour le répertoire de destination avec le contenu de la destination source. Si une modification ou un nouveau fichier est créé sur le répertoire source, seule la modification particulière sera copiée dans le répertoire de destination lorsque vous exécutez la commande Rsync. Pour synchroniser les fichiers et les répertoires entre la machine locale et une machine distante, Rsync utilise SSH.

Installation de Rsync sous Linux

La commande Rsync est pré-installée dans la plupart des systèmes d'exploitation Linux. Cependant, cela peut ne pas être le cas pour certaines installations minimales. Vous pouvez installer Rsync en exécutant les commandes ci-dessous dans un terminal.

Sur CentOS et RHEL

miam installer rsync -y

Sur Ubuntu et autres distributions Debian

sudo apt installer rsync -y

Syntaxe de base de Rsync

rsync options source destination

Certaines des options/paramètres standard utilisés avec la commande Rsync :

-v: -verbose Sortie verbeuse
-r : copie les données de manière récursive
-z : compresser les données du fichier
-h: Donne une sortie dans un format lisible par l'homme
-a : archiver les fichiers et le répertoire lors de la synchronisation
-progress Affiche la progression des tâches Rsync en cours d'exécution.

Vous pouvez voir toutes les options disponibles pour la commande Rsync en utilisant l'option "-help".

$ rsync --help

Commande d'aide Rsync

Top 20 des exemples de Rsync sous Linux

Avec ces informations détaillées à l'esprit, commençons avec 20 exemples de commandes Rsync utiles que vous pouvez utiliser avec les systèmes Linux. Notre système d'exploitation de choix est Ubuntu 20.04 LTS ; cependant, la syntaxe devrait également fonctionner pour d'autres distributions Linux avec Rsync installé.

1. Copier/Synchroniser les fichiers localement avec l'option -v (verbose)

C'est la commande Rsync la plus basique, même pour un débutant. Dans cet exemple, nous allons copier les fichiers entre le 'Original' répertoire sur le bureau vers le 'Sauvegarde' répertoire dans le '/etc.' dossier. Nous inclurons l'option -v (Verbose) afin que rsync puisse fournir des informations sur ce qui se passe.

rsync -v Original/

commande rsync -v (verbeux)

Une chose à noter avec Rsync est que, si le répertoire de destination n'existe pas, il le créera automatiquement. Voyons l'exemple ci-dessous où nous voulons copier des fichiers dans le répertoire "Foss" ça n'existe pas.

Créer un répertoire avec Rsync

2. Synchroniser/copier des fichiers et des répertoires de manière récursive avec l'option -r

Dans la commande ci-dessus, s'il y avait un répertoire présent dans le 'Original' dossier, il serait ignoré. C'est illustré dans l'image ci-dessous.

Commande Rsync de base

Pour surmonter cela, utilisez l'option -r (récursive).

Synchroniser les fichiers de manière récursive avec -r

3. Synchroniser/copier des fichiers entre la machine locale et la machine distante

Avant d'effectuer cette tâche, vous devez connaître plusieurs paramètres concernant le serveur/la machine distante : l'adresse IP, le nom d'utilisateur et le mot de passe de l'utilisateur.

La syntaxe de base que nous utiliserons est :

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

Copiez les fichiers de notre 'Original' répertoire sur le bureau vers un serveur distant.

Synchroniser/copier des fichiers à distance avec Rsync

4. Synchroniser/copier des fichiers et des répertoires d'un serveur distant vers votre PC local

Tout comme la commande précédente, nous aurons besoin de connaître l'adresse IP du serveur distant. Dans cet exemple, nous allons synchroniser les fichiers dans le 'Sauvegarde' dans le répertoire personnel du serveur sur notre PC local.

rsync -rv [email protected] :/home/tuts/Sauvegarde /home/tuts/Bureau/Original

Sync-Copier le fichier d'un serveur distant vers une machine locale

5. Utilisez Rsync sur SSH avec l'option -e

Pour assurer la sécurité des fichiers et des dossiers, nous utiliserons le protocole Rsync sur Secure Shell (SSH). De plus, lors de la fourniture du mot de passe root/utilisateur - SSH fournira des services de cryptage, garantissant leur sécurité.

Pour utiliser SSH, nous allons ajouter l'option -e qui spécifie le protocole que nous voulons utiliser.

 rsync -vre ssh Original/* [email protected]:/home/tuts

Utiliser Rsync sur SSH

6. Afficher la progression avec la commande Rsync

Dans les situations où vous copiez plusieurs fichiers ou un fichier volumineux, connaître la progression serait efficace. Heureusement, rsync propose cette option -le '-le progrès'option.

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

Afficher la progression avec Rsync

7. Utilisez Rsync avec l'option '-include'

Il existe des situations où vous souhaitez uniquement synchroniser des fichiers particuliers. Avec la commande Rsync, vous provoquez le '-inclure' option pour effectuer la tâche. Dans cet exemple, nous ne synchroniserons que les fichiers commençant par la lettre 'I'.

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

Utiliser l'option -include avec Rsync

8. Utilisez Rsync avec l'option '-exclude' pour ignorer des fichiers particuliers

Avec le Rsync'-exclure', vous pouvez exclure les fichiers que vous ne souhaitez pas synchroniser/copier. Dans cet exemple, nous voulons ignorer tous les fichiers commençant par la lettre 'I'.

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

Utilisez Rsync avec l'option '-exclude'

Alternativement, vous pouvez utiliser les deux options dans une commande. Voir l'exemple ci-dessous.

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

Nous excluons tous les fichiers à l'exception de ceux commençant par la lettre 'I.'

Utilisez à la fois les options -include et -exclude

9. Utiliser Rsync avec la commande -delete

Il existe des situations où des fichiers sont présents dans le répertoire de destination, mais pas dans le dossier source. Pour la synchronisation, il serait préférable de supprimer d'abord ces fichiers du répertoire de destination. Heureusement, Rsync est livré avec le '-effacer' option, qui le fait automatiquement.

Si un fichier est présent dans le répertoire de destination mais pas dans la source, il le supprimera.

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

Utiliser Rsync avec l'option de suppression

dix. Définir la taille maximale des fichiers à transférer avec Rsync

Si vous êtes préoccupé par l'espace de stockage ou la bande passante pour la synchronisation de fichiers à distance, vous devez utiliser l'option '-max-size' avec la commande Rsync. Cette option vous permet de définir la taille maximale d'un fichier pouvant être copié.

Par exemple, un '-taille max=100k' ne transférera que des données égales ou inférieures à 100 kilo-octets.

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

Définir la taille maximale avec la commande Rsync

11. Supprimer automatiquement les fichiers source après un transfert réussi

Prenez une situation où vous avez un serveur de sauvegarde distant et un répertoire de sauvegarde sur votre PC. Vous sauvegardez les données dans le dossier de sauvegarde de votre PC avant de les synchroniser avec le serveur de sauvegarde. Après chaque synchronisation, vous devrez supprimer les données dans le répertoire de sauvegarde.

Heureusement, vous pouvez le faire automatiquement avec le '--supprimer-fichiers-source'option.

Supprimer les fichiers source après un transfert réussi

En exécutant une commande 'ls' sur le dossier source, nous confirmons qu'effectivement les fichiers ont été supprimés.

12. Effectuer un essai avec Rsync

Pour les débutants qui ne sont pas sûrs de la commande Rsync, vous pouvez gâcher le contenu de votre répertoire de destination, et l'annulation pourrait être tout aussi fastidieuse. Avec le '-à sec', la commande Rsync vous donnera une sortie de ce qui sera exécuté, mais elle ne le fera pas.

Par conséquent, vous pouvez regarder cette sortie si c'est ce que vous attendez avant de supprimer le '-à sec'option.

rsync -vr --dry-run Original/* [email protected]:/home/tuts/Sauvegarde

Effectuer un essai à sec avec Rsync

13. Définir la limite de bande passante requise pour transférer des fichiers.

Si vous êtes sur un réseau partagé ou exécutez plusieurs programmes nécessitant une connexion Internet, il serait efficace de définir une limite de bande passante requise pour synchroniser/copier des fichiers à distance. Nous pouvons le faire avec le Rsync '-bwlimit'option.

Ce taux est calculé en kilo-octets. Par conséquent, lorsque '-bwlimit=1000' signifie que seulement 1000 Ko peuvent être transférés par seconde.

rsync -vr --bwlimit=1000 Original/* [email protected]:/home/tuts/Sauvegarde

Définir la limite de bande passante requise pour transférer des fichiers

14. Synchronisez tous les fichiers avec Rsync

Par défaut, Rsync ne synchronise que les blocs et octets modifiés. Par conséquent, si vous aviez synchronisé un fichier texte auparavant et ajouté ultérieurement des textes au fichier source lors de la synchronisation, seul le texte inséré sera copié. Si vous souhaitez synchroniser à nouveau l'intégralité du fichier, vous devrez utiliser l'option '-W'.

rsync -vrW Original/* [email protected]:/home/tuts/Sauvegarde

Synchroniser un fichier entier avec Rsync

15. Ne pas synchroniser/copier les fichiers modifiés dans le répertoire de destination

Il existe des situations où vous avez apporté des modifications aux fichiers présents dans le dossier de destination. Si vous exécutez une commande Rsync, ces modifications seront écrasées par celles du fichier source. Pour éviter cela, utilisez l'option '-u'.

rsync -vu Original/* [email protected]:/home/tuts/Sauvegarde

Utilisez l'option 'u' pour éviter de modifier les fichiers dans le dossier de destination

16. Utilisez Rsync avec l'option -i pour afficher la différence de fichiers entre la source et la destination

Si vous souhaitez savoir quelles nouvelles modifications seront apportées au répertoire de destination, utilisez l'option '-i', qui montrera la différence de fichiers entre le répertoire source et le répertoire de destination.

rsync -avzi Original/ Sauvegarde/

Utilisez l'option -i pour voir la différence dans les fichiers

Formez la sortie dans l'image ci-dessus, et nous voyons un fichier appelé 'salut.py' pas présent dans le répertoire de destination. Regardons certains de ces paramètres.

d : montre un changement dans le fichier de destination
f : représente un fichier
t : montre un changement dans les horodatages
s : indique un changement dans la taille d'un fichier

17. Utiliser Rsync pour copier la structure de répertoire uniquement

Vous pouvez utiliser Rsync pour synchroniser uniquement la structure du répertoire si vous n'êtes pas intéressé par les fichiers. Nous aurons besoin d'utiliser les paramètres -f"+ */" ​​-f"- *" avant le répertoire source.

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

Utiliser Rsync pour copier une structure de répertoire

18. Ajouter un horodatage au nom du répertoire

Si vous souhaitez savoir quand les transferts ont eu lieu sans ouvrir les propriétés du répertoire, vous pouvez facilement ajouter une date à un nom de répertoire. Cela ajoutera un horodatage à toutes les synchronisations que vous effectuez avec Rsync.

Pour ce faire, nous ajouterons $(date +\\%A-\\%m-\\%d) vers le répertoire de destination.

sudo rsync -rv Original/ /etc/$(date +\\%A-\\%m-\\%d)

Ajouter un horodatage à un répertoire

19. Copier un seul fichier localement

Pour synchroniser/copier un seul fichier avec Rsync, vous devrez spécifier le chemin du fichier suivi du chemin du répertoire de destination.

rsync -v Original/heloo.py sauvegarde/

Synchroniser un seul fichier localement

20. Copier plusieurs fichiers à distance

Pour copier plusieurs fichiers simultanément, vous devrez fournir le chemin d'accès à chacun d'eux. Cette méthode n'est efficace que pour un petit nombre de fichiers.

rsync -vr /home/tuts/Desktop/Original/heloo.py /home/tuts/Bureau/Sauvegarde/index.html tuts @ 192.168.1.64:/home/tuts/Sauvegarde

Copier plusieurs fichiers simultanément

C'est tout sur les 20 meilleurs exemples Rsync utiles qui vous permettront de synchroniser des fichiers et des répertoires à la fois localement et à distance. N'hésitez pas à laisser vos commentaires et commentaires ci-dessous.

Le bouton central de la souris ne fonctionne pas sous Windows 10
le bouton central de la souris vous aide à faire défiler de longues pages Web et des écrans contenant beaucoup de données. Si cela s'arrête, et bien v...
Comment changer les boutons gauche et droit de la souris sur un PC Windows 10
Il est tout à fait normal que tous les appareils de souris d'ordinateur soient conçus de manière ergonomique pour les droitiers. Mais il existe des so...
Émulez les clics de souris en survolant à l'aide de la souris sans clic dans Windows 10
L'utilisation d'une souris ou d'un clavier dans la mauvaise posture d'une utilisation excessive peut entraîner de nombreux problèmes de santé, notamme...