Comment utiliser rsync avec des exemples

Rsync est un outil populaire pour la synchronisation de fichiers, à la fois localement et à distance. Contrairement à d’autres outils de synchronisation, rsync utilise un algorithme intéressant qui minimise la consommation de bande passante. Il déplace simplement la partie du ou des fichiers qui ont changé.

C’est un utilitaire puissant qui peut servir dans de nombreuses situations. Dans cet article, je vais montrer comment démarrer avec rsync avec une démonstration. La démonstration sera effectuée sur Ubuntu 18.04.

Rsync

Rsync signifie le terme synchronisation à distance. Malgré son nom, il peut gérer la synchronisation de fichiers à distance et localement. Le terme rsync est également utilisé pour désigner le protocole rsync utilisé par rsync pour la synchronisation. Dans cet article, rsync désignera toujours l’outil, pas le protocole.

En raison de sa popularité, rsync est disponible sur presque tous les systèmes de type Linux et UNIX. Il y a de fortes chances qu’il soit préinstallé. Sinon, faites un peu de recherche sur la façon d’installer rsync dans votre système.

Voici une liste restreinte de fonctionnalités offertes par rsync.

  • Copie de répertoire
  • Configuration de sauvegarde facile
  • Peut fonctionner sur SSH
  • Peut fonctionner en tant que démon / serveur
  • Conservation des autorisations de fichiers

Utilisation de Rsync

Avant de sauter dans rsync, nous avons besoin de fichiers factices avec lesquels travailler. Créons d’abord un répertoire factice.

primarymkdir-v primaire

Une fois créé, il est temps de créer une poignée de fichiers factices. Pour créer un fichier, j’utiliserai la commande tactile. En savoir plus sur la commande tactile.

dummy touche factice {1..20}

Voilà! Nous sommes maintenant prêts à utiliser rsync pour effectuer des actions à l’aide de ces fichiers fictifs.

Structure de commande Rsync

Rsync utilise la structure de commande suivante.

rsrsync <option ><src ><destination >

Synchronisez les répertoires locaux

Maintenant, il est temps d’utiliser rsync pour synchroniser les fichiers sur plusieurs destinations. Dans cet exemple, nous allons synchroniser le contenu de dir_primary avec dir_target.

targetmkdir-v target

Dites à rsync de synchroniser le contenu des deux répertoires.

$rsync-v-r primary/target

Ici, nous avons utilisé deux arguments différents.

-v: Indique à rsync de s’exécuter en mode verbeux
-r: Récursif, requis pour la synchronisation des répertoires.

Dans cet exemple suivant, nous utiliserons un drapeau différent.

$rsync-v-a primaire/cible

– a: Un drapeau de combinaison qui signifie « archive ».

En utilisant cet indicateur, rsync synchronisera récursivement le contenu tout en préservant les fichiers symboliques, spéciaux /périphériques, les temps de modification, les autorisations de fichier, le groupe, le propriétaire, etc. Il est plus couramment utilisé que le drapeau ”-r ». Pour l’archivage, c’est une méthode plus recommandée.

Avez-vous remarqué que dans toutes les commandes que nous avons exécutées jusqu’à présent, dans le cas de source, nous conservons toujours le « /” après le nom du répertoire ? C’est pour dire à rsync que la source est tout le contenu du répertoire source. Si le ”/ » à la fin du répertoire source n’est pas utilisé, rsync créera simplement une copie du répertoire source au lieu de son contenu.

Vérifions-le avec un exemple.

targetrsync-v-a cible principale

Vérifiez le résultat de sortie.

targettree target/

La plupart du temps, ce n’est pas quelque chose dont nous avons besoin. Cependant, selon la situation, cela pourrait être utile.

Exécution du test Rsync

Avant d’exécuter une commande rsync, il est toujours important de vérifier que la commande exécutera l’action comme prévu. Si vous souhaitez tester l’action rsync pour une certaine commande, utilisez l’indicateur « -n” ou « -dry-run”.

targetrsync-avn primaire/cible

targetrsync-avn cible primaire

Ici, la sortie montre ce que rsync exécuterait si la commande était réellement exécutée. Chaque fois que vous testez, n’oubliez pas d’utiliser l’indicateur « -v” pour obtenir une représentation précise de ce qui se passe.

Rsync via une connexion distante

C’est une autre fonctionnalité intéressante prise en charge par rsync. Si votre emplacement de sauvegarde est distant, vous pouvez facilement configurer rsync pour effectuer une sauvegarde sur l’emplacement distant via SSH. Cependant, rsync doit être installé sur les deux machines. De plus, les deux systèmes doivent également avoir des clés SSH définies.

Prêt? Commençons. Au début, c’est la synchronisation des archives.

rsrsync-a <local_dir ><nom d’utilisateur > div>@<remote_host ><
destination_dir >

Ici, cette opération est appelée une opération de « push” car il pousse un répertoire du système local vers un système distant. Le contraire est connu sous le nom de « pull”.

rsrsync-a <nom d’utilisateur ><remote_host ><source_dir ><local_dir >

Rsync traite le premier argument comme source , le second comme destination.

Options rsync utiles

Rsync prend en charge une tonne d’options. Tous servent leur propre but. Cependant, pour la plupart, seule une poignée d’entre eux sont utilisés la plupart du temps. Dans cette section, examinons quelques options rsync utiles.

La plupart du temps, le ou les fichiers que vous êtes sur le point de synchroniser ne sont pas compressés. Grâce à la compression, vous pouvez économiser du temps et de la bande passante au prix d’un peu de puissance de traitement supplémentaire. Rsync offre une compression par défaut. Pour effectuer une synchronisation compressée, utilisez l’indicateur ”-z ».

rsrsync-avz <source ><destination > div>

Cet indicateur intéressant combine la fonction de l’indicateur « -progress” et « -partial”. La première consiste à afficher une barre de progression du transfert et la seconde à permettre la reprise du transfert interrompu. Ces deux caractéristiques sont combinées dans l’indicateur ”-P ».

$ rsync -avzP <source><destination>

Now, let’s check out how rsync handles file syncing intelligently. Run the previous command again.

rsrsync-avzP <source ><destination > div>

Ici, rsync n’a pas téléchargé à nouveau tous les fichiers. Au lieu de cela, il a ignoré ceux qui n’ont pas changé du tout. Dans cet exemple, il a ignoré tous les fichiers car tous sont présents dans le répertoire de destination.

Que se passe-t-il si vous avez supprimé un fichier du répertoire source ? Par défaut, rsync ne supprimera rien du répertoire de destination. Pour forcer la suppression de fichiers rsync, utilisez l’indicateur « -delete ». Cependant, utilisez l’exécution sèche pour tester si la commande fonctionne comme vous le souhaitez.

rsrsync-avndeletedelete <source ><destination > div>

Par défaut, rsync synchronisera chaque fichier/répertoire de la source vers le répertoire de destination. Dans certaines situations, vous pouvez inclure/exclure certains fichiers de la synchronisation. Rsync offre des options pratiques comme « -exclude » et –-include » pour exclure / inclure certains fichiers. Passez le modèle de fichier comme valeur pour ces arguments.

rsrsync-avnexcludeexclude=<motif >includeinclude=< motif >

Vous pouvez également définir la plus grande taille de fichier que rsync doit synchroniser. Pour ce faire, utilisez l’indicateur « –max-size” suivi de la taille du fichier.

rsrsync-avnmaxmax-size=’10k'<source ><destination >

Rsync a une autre caractéristique intéressante dans sa manche. Vous n’avez plus besoin du fichier source après la synchronisation ? Rsync peut le faire, pas de problème. Cependant, assurez-vous que vous n’exécutez pas rsync avec l’indicateur « -delete”. Sinon, rsync supprimera les fichiers synchronisés de la destination!

rsrsync-avremoveremove-source-files <source ><destination >

Pensées finales

Ce ne sont que quelques scénarios simples et courants d’utilisation de rsync. Il offre bien plus que cela. Il est possible d’automatiser les opérations rsync à l’aide d’un démon rsync ou d’autres scripts. J’espère que ce guide a été utile pour commencer avec rsync.

Intéressé par plus de rsync? Eh bien, vous pouvez utiliser rsync comme copieur de fichiers. C’est plus efficace et intelligent que le cp. Des fonctionnalités et une utilisation plus approfondies peuvent être trouvées dans la page de manuel rsync.

manman rsync

Profitez!



Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.