GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment transférer des fichiers avec Rsync sur SSH

Présentation

Rsync signifie "Synchronisation à distance". Le rsync La commande vous permet de transférer et de synchroniser des données entre différentes machines et répertoires. À l'aide du protocole Secure Shell (SSH), vous pouvez copier vos fichiers en toute sécurité vers un autre emplacement.

L'outil rsync présente de nombreux avantages par rapport aux autres méthodes de copie de fichiers. Il utilise à la fois la compression et la décompression lors de l'envoi et de la réception de fichiers. L'outil transfère uniquement les fichiers nouveaux ou mis à jour en économisant sur la bande passante et en accélérant les temps de transfert.

Suivez ce guide pour apprendre à utiliser rsync sur SSH pour transférer ou copier des fichiers.

Prérequis

  • Utilisateur avec sudo ouracine privilèges
  • Accès SSH à un serveur via la ligne de commande/la fenêtre du terminal
  • Rsync installé sur la machine locale et de destination

Vérifier l'installation de Rsync

Les distributions Linux les plus récentes ont rsync par défaut. Pour vérifier que rsync est installé sur votre système, exécutez la commande d'installation.

Pour Debian et Ubuntu machines, utilisez apt-get :

sudo apt-get install rsync

Si rsync est déjà installé, la sortie affiche la version actuelle de l'outil.

Sur basé sur RPM machines, telles que CentOS, utilisent :

sudo yum install rsync

Transférer des fichiers avec Rsync sur SSH

Avant de pouvoir commencer à transférer des fichiers et des répertoires avec rsync sur SSH, assurez-vous que vous pouvez utiliser SSH pour vous connecter à un serveur distant. Une fois vérifié, vous pouvez commencer à sauvegarder vos données. Assurez-vous que votre système de destination dispose d'un espace de stockage suffisant.

La syntaxe pour copier des fichiers sur un serveur distant via SSH avec le rsync la commande est :

rsync OPTION SourceDirectory_or_filePath [email protected]_or_name:Target

Exemples de commande rsync

Suivez le reste du guide pour voir les exemples des cas d'utilisation de rsync les plus courants .

Transférer un fichier spécifique avec Rsync

Pour transférer un seul fichier vers une machine distante, entrez le chemin complet du fichier source. Par exemple :

rsync ~/Dir1/source.pdf [email protected]:~/Desktop/test

Assurez-vous d'utiliser les guillemets pour les fichiers dont le nom contient des espaces. Par exemple :

rsync ~/Desktop/Dir1/"source pdf sample.pdf" [email protected]:~/Desktop/test

Transférer le contenu d'un répertoire avec Rsync

Il existe quelques options lors de la synchronisation du contenu du répertoire avec rsync sur SSH.
Pour transférer tous les fichiers d'un répertoire source vers la cible sur un hôte distant, entrez :

rsync ~/SourceDirectory/* [email protected]:~/Destination

L'astérisque (*) indique à l'outil d'inclure tous les fichiers dans le répertoire source. Les sous-répertoires ne sont pas transféré .

Par exemple :

La sortie montre les répertoires que rsync a ignorés pendant le transfert.

Pour inclure tous les sous-répertoires du répertoire source, utilisez le -r (récursif) ou -a (archive) option. Le -a drapeau est ce que nous recommandons. Cette option se synchronise de manière récursive et conserve tous les paramètres d'autorisation et de fichier. Cette fois, n'utilisez pas l'astérisque dans le chemin source.

rsync -a ~/Desktop/Dir1/ [email protected]:~/Desktop/test

Lorsque vous exécutez la commande dans ce format, rsync transfère tous les fichiers et sous-répertoires du répertoire source vers l'emplacement cible. D'après notre exemple ci-dessus, le test dossier aura le contenu du Dir1 source lorsque le transfert est terminé.

Pour empêcher la copie de fichiers, consultez notre guide sur la façon d'exclure des fichiers et des répertoires du transfert de données à l'aide de la commande rsync.

Vérifier la progression du transfert de fichiers Rsync

Pour vérifier l'état des transferts rsync, utilisez le -P option. Cette option affiche les heures de transfert, ainsi que les noms des fichiers et répertoires qui sont synchronisés.

S'il y a un problème avec votre connexion et que la synchronisation est interrompue, -P reprend vos transferts.

Exécutez la commande dans ce format pour effectuer une synchronisation récursive et vérifier l'état du transfert :

rsync -aP ~/SourceDirectory/ [email protected]:~/Destination

Par exemple :

Si vous réexécutez la même commande alors qu'aucune modification n'a été apportée au répertoire source, le transfert ne se produit pas. La raison en est que rsync transfère uniquement les modifications dans les fichiers et les nouveaux fichiers. Dans ce cas, la sortie affiche uniquement la ligne suivante :

Lorsqu'il y a un changement même dans un fichier source, rsync le détecte et le synchronise avec la cible.

Nous avons modifié un fichier et réexécuté la même commande :

La sortie affiche l'exemple source2 le fichier a été transféré depuis que rsync a détecté que nous avons modifié le fichier.


Ubuntu
  1. Comment télécharger et charger des fichiers via SSH

  2. Comment transférer des fichiers sous Linux avec SCP et Rsync

  3. Comment configurer Rsync avec SSH sur UNIX / Linux (rsync sans mot de passe)

  4. Comment configurer Rsync sans mot de passe avec SSH sous UNIX / Linux ?

  5. Comment puis-je exclure des fichiers par défaut avec rsync ?

Comment transférer des fichiers avec Rsync sur SSH

Reprendre les fichiers partiellement transférés via SSH à l'aide de Rsync

Comment utiliser la commande rsync pour copier des données localement et via SSH

Copier des données avec rsync sur Ubuntu

Comment transférer des fichiers avec Commander One

Comment configurer une sauvegarde avec rsync sur Ubuntu 18.04