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 du répertoire aux systèmes locaux et distants. Nous couvrirons comment utiliser RSYNC pour:
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 de ligne de commande pour copier des fichiers à l'aide de RSYNC. Pour ouvrir l'application de terminal de 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:
$ sudo apt install rsync
Voici quelques-unes des options couramment utilisées qui peuvent être utilisées avec RSYNC:
-R: Mode des archives
-V: montre les détails du processus de copie
-P: montre la barre de progression
-R: Copie les données récursivement
-Z: comprime les données
-Q: supprimer la sortie
Copier les fichiers et les répertoires localement
La syntaxe générale de RSYNC est:
$ rSync [Option] [Source] [Destination]
Copiez 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 «Fichier1.txt »De l'emplacement actuel qui est le répertoire d'origine à ~ / Documents Directory, la commande serait:
$ RSync / Home / Tin / File1.TXT / HOME / TIN / DOCUMENTS
Remarque: au lieu de «/ home / tin / file1.txt ", nous pouvons également taper" file1 "car nous travaillons actuellement dans le répertoire domestique. De plus, nous pouvons utiliser ~ / documents au lieu de mentionner le chemin complet comme «/ home / tin / documents».
Copiez plusieurs fichiers localement
Si vous souhaitez copier plusieurs fichiers à la fois d'un emplacement à un autre dans 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 «Fichier2.txt "et" file3.txt »Du répertoire d'origine à ~ / Documents Directory, la commande serait:
$ RSync / Home / Tin / File2.txt / home / tin / file3.TXT / HOME / TIN / 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 domestique se terminant par «.Extension zip »au répertoire ~ / documents, nous utiliserons:
$ RSYNC / HOME / TIN / *.zip ~ / documents
Copier les répertoires localement
Si vous souhaitez copier un répertoire avec son sous-répertoire et tous les contenus d'un emplacement à un autre dans votre système, vous pouvez le faire comme en tapant rsync suivi par le répertoire source et de destination.
Par exemple, pour copier le répertoire «Exemple» dans le répertoire «Tester /» dans le répertoire domestique, la commande serait:
$ RSYNC -AV / HOME / TIN / Sample / Home / Tin / Test
Remarque: Spécification de «/» après le répertoire source ne copie que 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 répertoire source «échantillon» est également copié dans le répertoire de destination (car nous avons utilisé «échantillon» 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 qu'il transfère uniquement les fichiers qui sont nouveaux ou mis à jour.
Copier des fichiers en fonction de la taille maximale
Lors de la copie, nous pouvons également spécifier la taille maximale des fichiers qui peuvent être copiés avec l'option «-max-size». Par exemple, pour copier les fichiers pas supérieurs à 2000k du répertoire ~ / téléchargements vers ~ / documents, la commande serait:
$ RSync -a --max-size = 2000k / home / tin / downloads / * / home / tin / documents
Cette commande copiera tous les fichiers de ~ / téléchargements vers le répertoire ~ / documents sauf ceux de plus de 2000k.
Copier des fichiers en fonction de la taille minimale
De même, nous pouvons également spécifier la taille minimale des fichiers qui peuvent être copiés avec l'option «-min-taille». Par exemple, pour copier les fichiers pas moins que 5m de ~ / téléchargements vers le répertoire ~ / documents, la commande serait:
$ RSYNC -A - min-size = 5m / home / tin / downloads / / home / tin / documents
Cette commande copiera tous les fichiers de ~ / téléchargements dans le répertoire ~ / documents sauf ceux inférieurs à 5m.
Exclure les fichiers
Lors de la copie de fichiers d'un répertoire à un autre, vous pouvez exclure certains fichiers à l'aide de l'option «-exclure» suivie du nom de fichier ou de l'extension du type de fichier.
Par exemple, pour exclure tout le .Fichiers zip lors de la copie de fichiers à partir de ~ / téléchargements vers le répertoire ~ / documents, la commande serait:
$ RSync -a --exclude = "*.zip "/ home / tin / downloads / / home / tin / documents
Copier les fichiers et les répertoires à distance
Avec RSYNC, vous pouvez copier un seul fichier, plusieurs fichiers et répertoires dans un système distant. Pour copier des fichiers et des répertoires à distance, vous aurez besoin:
Avant de copier des fichiers à l'aide de RSYNC, assurez-vous que vous pouvez accéder au système distant via SSH:
$ SSH Remote_user @ Remote_ip
La syntaxe générale pour la copie des fichiers et des répertoires dans un système distant à l'aide de RSYNC:
$ Sync [Option] [Source] [RemoteUser @ RemoteIP: Destination]
Par exemple, pour copier un seul fichier «Fichier.txt ”de ~ / téléchargements vers le répertoire du système distant ~ / documents, la commande serait:
$ RSYNC -V ~ / Téléchargements / fichier1.txt umara @ 192.168.72.164: ~ / documents
De même, pour copier le répertoire «~ / téléchargements / fichiers» dans un système local avec son sous-répertoire et tous les contenus dans le répertoire «~ / téléchargements / échantillons» au système distant:
$ RSYNC -RV ~ / Téléchargements / fichiers umara @ 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 «fichier2.txt »du système distant au bureau du système local:
$ RSync -v Umara @ 192.168.72.164: ~ / téléchargements / fichier2.txt ~ / Desktop /
De même, pour copier un répertoire du système distant au système local
$ RSYNC -RV UMARA @ 192.168.72.164: ~ / Téléchargements / Exemple ~ / Desktop / Test
Vous pouvez également utiliser toutes les options comme -Max-Size, -Min-Size, -exclude et autres tout en copie des fichiers vers / depuis le système distant.
RSYNC est un excellent outil pour copier des fichiers de la source à la destination soit localement ou à distance. Il comprend un large ensemble d'options qui vous donne la flexibilité et le contrôle lors du transfert de fichiers vers / depuis le système distant.