Rsync est une commande importante sous Linux et utilisée pour synchroniser ou copier les fichiers et répertoires au sein du serveur local et distant. C'est un outil de copie de fichiers rapide et extraordinairement polyvalent. L'une des caractéristiques importantes de cette commande est "Algorithme de transfert delta (DTA)" . Cela signifie qu'il ne copiera que les modifications de la source vers la destination, au lieu de copier l'intégralité du fichier ou des répertoires. Ce faisant, il réduit également la quantité de données envoyées sur le réseau. En routine, les gens utilisent cette commande pour les sauvegardes quotidiennes, la restauration et la mise en miroir.
Dans cet article, nous aborderons l'utilisation de RSYNC commandes de différentes manières.
- Copier/synchroniser le fichier localement
Supposons que nous voulons copier un fichier "abc.txt" d'un emplacement vers le dossier etc.#rsync -zvh abc.txt /etc
- Copier/synchroniser le répertoire localement
Supposons que nous voulons copier ou synchroniser un répertoire "testdir" vers le dossier "etc"#rsync -zavh testdir /etc
- Copier des fichiers et des répertoires de manière récursive localement
Supposons que nous ayons plusieurs fichiers et répertoires dans le répertoire personnel de l'utilisateur A, utilisez la commande ci-dessous pour copier les fichiers et les répertoires de manière récursive, utilisez l'option -a ou -r pour copier les fichiers et les répertoires de manière récursive.#rsync -zrvh file2.txt testdir11 /etc
Vous pouvez vérifier ces fichiers et répertoires en utilisant la "commande ls". - Copier ou synchroniser des fichiers et des répertoires d'un système local vers un système distant Supposons que nous voulions copier le fichier "/etc/abc.txt" d'une machine locale vers une machine distante
#rsync -zarvh /etc/abc.txt [email protected]***.***.72
- Copier ou synchroniser des fichiers et des répertoires de la machine distante vers le système local
Supposons que nous voulons copier des fichiers et des répertoires de la machine distante vers notre système local, dans l'exemple ci-dessous, je copie le fichier distant "newfile.txt" sur ma machine locale sous le dossier /etc#rsync -zarvh [email protected]***.***.72 /etc
- Afficher la progression de la synchronisation dans la sortie de la commande rsync
Si vous souhaitez voir la progression de la synchronisation ou de la copie dans la commande rsync, utilisez « –progress »,#rsync -avh --progress [email protected]_address:/opt/rpms_db /tmp
- Supprimer les fichiers de destination s'ils ne sont pas présents dans la source
Si vous avez déjà synchronisé des fichiers de la source à la destination et que vous avez supprimé les fichiers d'une source, vous pouvez forcer la commande rsync à supprimer les fichiers sur la destination à l'aide de l'option –delete, l'exemple est illustré ci-dessous#rsync -avz --delete /opt/rpms_db [email protected]_address:/tmp/rpms_db
- Mettre une limite à la taille du transfert de fichiers
Si vous ne voulez pas transférer ou copier les fichiers volumineux à l'aide de rsync, utilisez l'option '–max-size={specify-size-here}', au cas où nous ne voudrions pas transférer les fichiers qui font plus de 1024K, vous pouvez le faire avec la commande ci-dessous Remarque :Utilisez le symbole M pour mb et G pour GB.#rsync -avz --max-size='500K' /opt/rpms_db [email protected]_address:/tmp