Comment utiliser rsync pour copier des fichiers

How Use Rsync Copy Files



Rsync est un outil en ligne de commande sous Linux qui est utilisé pour copier des fichiers d'un emplacement source vers un emplacement de destination. Vous pouvez copier des fichiers, des répertoires et l'intégralité du système de fichiers et synchroniser les fichiers entre les différents répertoires. Il fait plus que simplement copier les fichiers. Il réduit la quantité de données envoyées sur le réseau en n'envoyant que les fichiers nouveaux ou mis à jour. C'est pourquoi il est considéré comme un excellent utilitaire pour la copie et la sauvegarde de fichiers. Rsync prend également en charge la copie de fichiers sur un système distant via SSH.

Dans cet article, nous expliquerons comment utiliser rsync pour copier des fichiers avec quelques exemples pratiques. Nous expliquerons également l'utilisation de rsync dans la copie d'un seul fichier, de plusieurs fichiers et d'un répertoire sur les systèmes locaux et distants. Nous verrons comment utiliser Rsync pour :







  • Copier le fichier/répertoire dans le système local
  • Copier le fichier/répertoire du local vers le système distant
  • Copier le fichier/répertoire du système distant vers le local

Nous avons expliqué les commandes et la procédure mentionnées dans cet article sur un Ubuntu 20.04 LTS. Vous aurez besoin du terminal en ligne de commande pour copier des fichiers à l'aide de rsync. Pour ouvrir l'application Terminal en ligne de commande, utilisez le raccourci clavier Ctrl+Alt+T.



Installation de Rsync

Rsync est pré-installé dans Ubuntu 20.04 LTS. Cependant, s'il est accidentellement supprimé du système, vous pouvez l'installer comme suit :



$sudoapteinstallerrsync

Voici quelques-unes des options couramment utilisées qui peuvent être utilisées avec rsync :





–a : mode d'archivage
–v : affiche les détails du processus de copie
–p : affiche la barre de progression
–r : copie les données de manière récursive
–z : compresse les données
–q : supprimer la sortie

Copier des fichiers et des répertoires localement

La syntaxe générale de rsync est :



$rsync[option] [la source] [destination]

Copier un seul fichier localement

Si vous souhaitez copier un fichier d'un emplacement à un autre dans votre système, vous pouvez le faire en tapant rsync suivi du nom du fichier source et du répertoire de destination.

Par exemple, pour copier un seul fichier file1.txt de l'emplacement actuel qui est le répertoire Home vers le répertoire ~/Documents, la commande serait :

$rsync/domicile/croire/fichier1.txt/domicile/croire/Documents

Remarque : Au lieu de /home/tin/file1.txt, nous pouvons également taper file1 car nous travaillons actuellement dans le répertoire home. De plus, nous pouvons utiliser ~/Documents au lieu de mentionner le chemin complet sous la forme /home/tin/Documents.

Copier plusieurs fichiers localement

Si vous souhaitez copier plusieurs fichiers à la fois d'un emplacement à un autre au sein de votre système, vous pouvez le faire en tapant rsync suivi du nom des fichiers source et du répertoire de destination.

Par exemple, pour copier les fichiers file2.txt et file3.txt du répertoire Home vers le répertoire ~/Documents, la commande serait :

$rsync/domicile/croire/fichier2.txt/domicile/croire/fichier3.txt/domicile/croire/Documents

Pour copier tous les fichiers avec la même extension, vous pouvez utiliser le symbole astérisque (*) au lieu de spécifier individuellement les noms de fichiers. Par exemple, pour copier tous les fichiers du répertoire Home se terminant par l'extension .zip vers le répertoire ~/Documents, nous utiliserons :

$rsync/domicile/croire/ *.zip ~/Documents

Copier les répertoires localement

Si vous souhaitez copier un répertoire avec son sous-répertoire et tout son contenu d'un emplacement à un autre au sein de votre système, vous pouvez le faire en tapant rsync suivi du répertoire source et de destination.

Par exemple, pour copier l'exemple de répertoire dans le répertoire test/ dans le répertoire Home, la commande serait :

$rsync-de /domicile/croire/échantillon/domicile/croire/test

Remarque : La spécification de / après le répertoire source copie uniquement le contenu du répertoire. Si nous ne spécifions pas le /après le répertoire source, le répertoire source sera également copié dans le répertoire de destination.

Comme dans la sortie suivante, vous pouvez voir que notre exemple de répertoire source est également copié dans le répertoire de destination (car nous avons utilisé sample au lieu de sample/ comme répertoire source).

Rsync prend en charge le transfert incrémentiel, comme vous pouvez le voir dans la sortie ci-dessus, il ne transfère que les fichiers nouveaux ou mis à jour.

Copier les fichiers en fonction de la taille maximale

Lors de la copie, nous pouvons également spécifier la taille maximale des fichiers pouvant être copiés avec l'option –max-size. Par exemple, pour copier les fichiers ne dépassant pas 2000 Ko de ~/Téléchargements vers le répertoire ~/Documents, la commande serait :

$rsync --taille max=2000k/domicile/croire/Téléchargements/ * /domicile/croire/Documents

Cette commande copiera tous les fichiers de ~/Downloads vers le répertoire ~/Documents, à l'exception de ceux dont la taille est supérieure à 2000k.

Copier des fichiers en fonction de la taille minimale

De même, nous pouvons également spécifier la taille minimale des fichiers pouvant être copiés avec l'option –min-size. Par exemple, pour copier les fichiers d'au moins 5 M de ~/Téléchargements vers le répertoire ~/Documents, la commande serait :

$rsync --min-taille=5M/domicile/croire/Téléchargements/ /domicile/croire/Documents

Cette commande copiera tous les fichiers de ~/Downloads dans le répertoire ~/Documents, à l'exception de ceux de moins de 5M.

Exclure des fichiers

Lors de la copie de fichiers d'un répertoire à un autre, vous pouvez exclure certains fichiers à l'aide de l'option —exclude suivie du nom du fichier ou de l'extension du type de fichier.

Par exemple, pour exclure tous les fichiers .zip lors de la copie des fichiers de ~/Downloads vers le répertoire ~/Documents, la commande serait :

$rsync --exclure='*.Zip *: français' /domicile/croire/Téléchargements/ /domicile/croire/Documents

Copier des fichiers et des répertoires à distance

Avec Rsync, vous pouvez copier un seul fichier, plusieurs fichiers et répertoires sur un système distant. Pour copier des fichiers et des répertoires à distance, vous aurez besoin de :

  • Rsync installé sur le système local et distant
  • Accès SSH au système distant
  • Mot de passe utilisateur distant

Avant de copier des fichiers à l'aide de rsync, assurez-vous que vous pouvez accéder au système distant via SSH :

$sshutilisateur_distant@ip_distant


La syntaxe générale pour copier des fichiers et des répertoires sur un système distant à l'aide de rsync :

$rsync[option] [la source] [utilisateur distant@ip distante:destination]

Par exemple, pour copier un seul fichier file.txt de ~/Téléchargements vers le répertoire ~/Documents du système distant, la commande serait :

$rsync-v~/Téléchargements/fichier1.txt umara@192.168.72.164 : ~/Documents

De même, pour copier le répertoire ~/Downloads/files dans un système local avec son sous-répertoire et tout son contenu dans le répertoire ~/Downloads/samples sur le système distant :

$rsync-rv~/Téléchargements/fichiers umra@192.168.72.164 : ~/Téléchargements/échantillons

Vous pouvez également copier les fichiers et répertoires de la machine distante vers votre machine locale. Par exemple, pour copier un fichier 2.txt du système distant vers le bureau du système local :

$rsync-vumara@192.168.72.164 : ~/Téléchargements/fichier2.txt ~/Bureau/

De même, pour copier un répertoire du système distant vers le système local

$rsync-rvumara@192.168.72.164 : ~/Téléchargements/échantillon ~/Bureau/test

Vous pouvez également utiliser toutes les options telles que –max-size, –min-size, –exclude et autres lors de la copie de fichiers vers/depuis le système distant.

Rsync est un excellent outil pour copier des fichiers de la source à la destination, localement ou à distance. Il comprend un large éventail d'options qui vous offrent flexibilité et contrôle lors du transfert de fichiers vers/depuis le système distant.