Recherche de site Web

rsync : synchroniser des 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 aussi un excellent outil couramment utilisé pour les opérations de sauvegarde et la mise en miroir.

Certaines de ses caractéristiques et avantages éminents comprennent ; Il est exceptionnellement polyvalent en ce sens qu’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, d’appareils, de propriétaires de fichiers ou de répertoires, de groupes et d’autorisations. Il prend également en charge l’utilisation sans privilèges root couplés à bien d’autres.

L’une des différences impératives de rsync par rapport aux autres commandes de codage 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 allons examiner comment rsync peut nous aider à synchroniser uniquement les fichiers ou le contenu des répertoires nouveaux ou modifiés lors de la réalisation de 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, plongeons-nous dans quelques exemples pour découvrir comment le concept ci-dessus fonctionne réellement.

Synchronisation locale de fichiers à l’aide de Rsync

En utilisant la commande ci-dessous, il est possible de copier localement des fichiers de mon répertoire Documents vers le répertoire /tmp/documents :

rsync -av Documents/* /tmp/documents

Dans la commande ci-dessus, l’option :

  • -a – signifie mode d’archivage.
  • -v – signifie verbeux, montrant les détails des opérations en cours.

Par défaut, rsync ne copie que les fichiers nouveaux ou modifiés d’une source vers une 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 de la sortie 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 qui sont 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é une série de tests, nous pouvons alors supprimer le -n et effectuer une opération réelle :

rsync -auv Documents/* /tmp/documents

Synchronisation de fichiers d’un Linux local vers un Linux distant

Dans l’exemple ci-dessous, je copie des fichiers de mon ordinateur local 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 été modifiés 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’ai mentionné plus tôt, rsync est un outil Linux très puissant et polyvalent, et de nombreux administrateurs système et utilisateurs expérimentés de Linux savent à quel point il est avantageux.

Plus important encore, vous pouvez aussi bien partager votre point de vue sur les exemples que nous avons couverts ici ou, mieux encore, nous offrir de précieux conseils sur l’utilisation de cet outil de ligne de commande essentiel à travers la section des commentaires ci-dessous.

Articles connexes: