En tant qu'administrateur système ou utilisateur expérimenté de Linux, vous avez probablement rencontré ou même utilisé à plusieurs reprises l'outil polyvalent 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 de mise en miroir.
Certaines de ses caractéristiques et avantages éminents incluent; 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.
Lecture suggérée : 10 exemples pratiques de commande Rsync sous Linux
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 et bien d'autres.
Un différentiel impératif de rsync par rapport aux autres commandes de copie de fichiers sous Linux est son utilisation du protocole de mise à jour à distance, pour ne transférer que la différence entre les fichiers ou le contenu des répertoires.
Par conséquent, dans cet article, nous examinerons comment rsync peut nous aider à synchroniser uniquement les fichiers ou le contenu des répertoires nouveaux ou modifiés lors 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, plongeons-nous dans quelques exemples pour découvrir comment le concept ci-dessus fonctionne réellement.
Synchronisation locale des fichiers à l'aide de Rsync
En utilisant la commande ci-dessous, pouvoir copier des fichiers de mes Documents répertoire vers /tmp/documents répertoire local :
$ rsync -av Documents/* /tmp/documents
Dans la commande ci-dessus, l'option :
-a
– signifie le mode d'archivage-v
- signifie verbeux, montrant les détails des opérations en cours
Par défaut, rsync copie uniquement les fichiers nouveaux ou modifiés d'une source vers une destination, lorsque j'ajoute un nouveau fichier dans mes Documents répertoire, voici ce qui se passe après avoir exécuté la même commande une seconde 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.
Lecture suggérée : Comment synchroniser deux serveurs Web/sites Web Apache à l'aide de Rsync
Le --update
ou -u
l'option autorise rsync pour 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é un test, nous pouvons supprimer le -n
et effectuer une opération réelle :
$ rsync -auv Documents/* /tmp/documents
Synchroniser des fichiers de Linux local à 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 ne synchroniser que les nouveaux fichiers sur la machine locale, qui n'existent pas sur la machine distante, nous pouvons inclure le --ignore-existing
choix :
$ rsync -av --ignore-existing Documents/* [email protected]:~/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 protected]:~/all/ $ rsync -av --update Documents/* [email protected]:~/all/
Pour mettre à jour les fichiers existants et empêcher la création de nouveaux fichiers dans la destination, nous utilisons le --existing
option.
Vous pouvez parcourir le man rsync
page 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 administrateurs système et utilisateurs expérimentés de Linux savent à quel point il est avantageux.
Plus important encore, vous pouvez également 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 via la section des commentaires ci-dessous.