Recherche de site Web

Rsync : synchroniser les fichiers nouveaux ou modifiés sous Linux


En tant qu'administrateur système ou utilisateur expérimenté de Linux, vous avez probablement rencontré ou même utilisé à plusieurs reprises la commande polyvalente Linux rsync, qui permet aux utilisateurs de copier ou de synchroniser rapidement des fichiers localement et à distance. C'est également un excellent outil couramment utilisé pour les opérations de sauvegarde et de mise en miroir.

Certaines de ses caractéristiques et avantages éminents comprennent : il est exceptionnellement polyvalent dans la mesure où il peut copier localement, vers/depuis un shell distant ou un rsync distant, il est également remarquablement flexible, permettant aux utilisateurs de spécifier n'importe quel nombre de fichiers à copier.

De plus, il permet la copie de liens, de périphériques, du propriétaire de fichiers ou de répertoires, de groupes et d'autorisations. Il prend également en charge l'utilisation sans privilèges root, ainsi que bien d'autres.

Une différence impérative de rsync par rapport aux autres commandes de copie de fichiers sous Linux est son utilisation du protocole de mise à jour à distance, pour transférer uniquement la différence entre les fichiers ou le contenu du répertoire.

Par conséquent, dans cet article, nous examinerons comment rsync peut nous aider à synchroniser uniquement les fichiers ou le contenu de répertoires nouveaux ou modifiés tout en effectuant des sauvegardes et au-delà sous Linux.

Pour commencer, vous devez vous rappeler que la forme conventionnelle et la plus simple d’utilisation de rsync est la suivante :

rsync options source destination 

Cela dit, examinons quelques exemples pour découvrir comment le concept ci-dessus fonctionne réellement.

Synchronisation de fichiers localement à l'aide de Rsync

À l'aide de la commande ci-dessous, pouvoir copier des fichiers de mon répertoire Documents vers le répertoire /tmp/documents localement :

rsync -av Documents/* /tmp/documents

Dans la commande ci-dessus, l'option :

  • -a – signifie le mode archive.
  • -v – signifie verbeux, affichant les détails des opérations en cours.

Par défaut, rsync copie uniquement les fichiers nouveaux ou modifiés d'une source vers la destination. Lorsque j'ajoute un nouveau fichier dans mon répertoire Documents, voici ce qui se passe après avoir exécuté la même commande. une deuxième fois :

rsync -av Documents/* /tmp/documents

Comme vous pouvez l'observer et le remarquer à partir du résultat de la commande, seul le nouveau fichier est copié dans le répertoire de destination.

L'option --update ou -u permet à rsync d'ignorer les fichiers encore nouveaux dans le répertoire de destination, et une option importante, --dry-run ou -n nous permet d'exécuter une opération de test sans apporter de modifications. Il nous montre quels fichiers doivent être copiés.

rsync -aunv Documents/* /tmp/documents

Après avoir exécuté un test, nous pouvons alors supprimer le -n et effectuer une véritable opération :

rsync -auv Documents/* /tmp/documents

Synchronisation de fichiers depuis Linux local vers Linux distant

Dans l'exemple ci-dessous, je copie des fichiers de ma machine locale vers un serveur distant avec l'adresse IP – 10.42.1.5. Afin de synchroniser uniquement les nouveaux fichiers sur la machine locale, qui n'existent pas sur la machine distante, nous pouvons inclure l'option --ignore-existing :

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

Par la suite, pour synchroniser uniquement les fichiers mis à jour ou modifiés sur la machine distante qui ont changé sur la machine locale, nous pouvons effectuer un essai avant de copier les fichiers comme ci-dessous :

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

Pour mettre à jour les fichiers existants et empêcher la création de nouveaux fichiers dans la destination, nous utilisons l'option --existing.

Vous pouvez parcourir la page man rsync pour découvrir des options supplémentaires utiles pour une utilisation avancée, comme je l'avais mentionné plus tôt, rsync est un outil Linux très puissant et polyvalent, et de nombreux systèmes Les administrateurs et les utilisateurs expérimentés de Linux savent à quel point c'est avantageux.

Plus important encore, vous pouvez également partager votre point de vue sur les exemples que nous avons abordés ici ou, mieux encore, nous offrir de précieux conseils sur l'utilisation de cet outil de ligne de commande essentiel via la section commentaires ci-dessous.

Articles connexes: