Copier et sauvegarder des fichiers et des dossiers à l'aide de l'utilitaire Rsync

En savoir plus sur Rsync

Rsync est un outil rapide et polyvalent pour copier des fichiers et des dossiers. L'utilitaire peut copier des données à la fois localement et vers d'autres hôtes, y compris le stockage en nuage d'Introserv.
Les options de l'utilitaire vous permettent de contrôler de nombreux aspects de la copie et de la mise en miroir des données.
L'une des principales caractéristiques est la possibilité de compresser les données lors de l'envoi, ce qui vous permet d'accélérer le processus de copie entre les serveurs.
Un autre avantage est l'exception lors de la copie de fichiers identiques. Par conséquent, seuls les fichiers différents seront copiés ou transférés, ce qui permettra sans aucun doute de gagner du temps lors de la synchronisation de grands répertoires.

Options de l'utilitaire

Voyons des exemples d'utilisation de Rsync pour copier des fichiers et des répertoires vers le stockage en nuage distant d'Introserv à l'aide du protocole SSH. Important ! Des commandes similaires, spécifiant uniquement le serveur cible, vous permettront de copier des répertoires et des fichiers vers n'importe quel serveur distant via SSH.

Jetons un coup d'œil à quelques-unes des principales options de l'utilitaire qui seront utilisées le plus souvent. Une liste plus détaillée des options disponibles est disponible dans la documentation man(man rsync command) :

-v - affiche des informations détaillées sur le processus
-c - vérifie les sommes de contrôle des fichiers
-q - informations minimales
-a - mode d'archivage
-R - chemins relatifs
-y - ne pas écraser les fichiers plus récents
-b - créer une copie de sauvegarde
-l - copie des liens symboliques
-L - copie du contenu des liens
-H - copie des liens en dur
-g - sauvegarde du groupe
-p - préserver les permissions des fichiers
-t - sauvegarde de l'heure de modification
-x - travailler uniquement dans ce FS
-e - utiliser un autre protocole de transport (par exemple, ssh)
-z - compresse les fichiers avant le transfert
--delete - supprimer les fichiers qui ne sont pas dans la source
--exclude - exclut des fichiers
--recursive : énumère les répertoires de manière récursive
--no-recursive - désactive la récursivité
--progress : affiche la progression du transfert de fichiers
--stat : affiche les statistiques de transfert
--max-size : taille maximale du fichier à transférer
--bwlimit - limite de vitesse pour les transferts de fichiers

Brève explication de la syntaxe

rsync -az --progress /home/user/test.file boxxxx@boxxxxx.introserv.cloud:/remote_folder/

Les options-az --progress qui indiquent qu'il est nécessaire d'archiver le fichier transféré, de le compresser avant le transfert et d'afficher la progression de la copie à l'écran ;

/home/user/test.file: il s'agit du chemin d'accès au fichier et du fichier lui-même qui doit être transféré ;

boxxxx@boxxxxx.introserv.cloud: il s'agit de la ressource de destination (dans notre exemple, il s'agit d'un stockage en nuage, mais il peut également s'agir d'un serveur distant) ; boxxxx est le nom de l'utilisateur, après le signe @ se trouve le nom de la ressource ou l'adresse IP du serveur distant ;

/remote_folder/ il s'agit d'un dossier sur une ressource distante. Dans notre exemple - dans Introserv Cloud Storage.

Copier un fichier dans un dossier sur un stockage distant

rsync -az --progress /home/user/Desktop/test.file boxxxxx@boxxxxx.introserv.cloud:/remote_folder/

Il vous sera demandé un mot de passe pour vous connecter au stockage :

Entrez le mot de passe et continuez, vous verrez la progression et la vitesse de transfert du fichier :

Copier un dossier dans le dossier d'un espace de stockage distant

Faites attention aux barres obliques dans les lignes du dossier source et du dossier de destination. L'absence de barre oblique dans le dossier source indique que nous voulons transférer de manière récursive le dossier Desktop local avec tout son contenu vers le dossier remote_folder.

rsync -azr --progress /home/user/Desktop boxxxx@boxxxx.introserv.cloud:/remote_folder/

Vous verrez que le répertoire et tous les fichiers qu'il contient sont transférés :

Copier le contenu d'un dossier local vers un dossier sur un support distant

Faites attention à la barre oblique à la fin du dossier source. Sa présence indique que l'utilitaire doit copier le contenu du dossier local dans un dossier sur le stockage distant

rsync -avzr --progress /home/user/Desktop/ boxxxx@boxxxx.introserv.cloud:/remote_folder/

Vous verrez la progression et la vitesse de la copie :

Copie d'un dossier d'un espace de stockage distant vers un dossier du serveur local

À l'aide de Rsync, vous pouvez lancer la copie d'un dossier à partir d'un espace de stockage distant. La commande se présente comme suit :

rsync -zra --progress boxxxxx@boxxxxx.introserv.cloud:/remote_folder /home/user/Desktop/

Vous verrez la progression et la vitesse de la copie d'un dossier distant vers un dossier du serveur local :

Copie du contenu d'un dossier d'un espace de stockage distant vers un dossier du serveur local

Il convient également de prêter attention à la barre oblique à la fin du chemin d'accès au dossier source. Sa présence indique que seul le contenu du dossier doit être copié

rsync -zra --progress boxxxxx@boxxxxx.introserv.cloud:/remote_folder/ /home/user/Desktop/

Copier le contenu d'un dossier en excluant et/ou en incluant des fichiers

L'utilitaire vous permet de spécifier explicitement les fichiers à transférer et ceux qui doivent être exclus. Pour ce faire, utilisez les options --include et --exclude.

rsync -azr --progress --include 'test.file' --exclude 'test.file2' /home/user/Desktop/ boxxxx@boxxxx.introserv.cloud:/remote_folder/

Vous constaterez qu'un seul fichier est transféré, spécifié par l'option --include. Veuillez noter que les options include et exclude peuvent être utilisées séparément l'une de l'autre

Copier uniquement les fichiers qui sont différents des fichiers du dossier de destination

Pour éviter de copier des fichiers identiques, vous devez utiliser l'option -c pour vérifier les sommes de contrôle des fichiers. Cela vous permettra d'exclure du processus de copie les fichiers qui se trouvent déjà dans le dossier de destination.

rsync -azrс --progress /home/user/Desktop/ boxxxx@boxxxx.introserv.cloud:/remote_folder/

Vous constaterez que seuls 3 fichiers ont été copiés dans le dossier distant, à l'exception du fichier test.odt, qui se trouve déjà sur le stockage distant :

Utilisation de Rsync via SSH avec un port SSH non standard

Pour transférer des fichiers depuis/vers un serveur dont le port SSH a été modifié, utilisez l'option -e 'ssh -p port_number'.

La commande permettant de copier un fichier sur un serveur dont le port SSH a été remplacé par 44 se présente comme suit :

rsync -azrс --progress -e 'ssh -p44' /home/user/Desktop/ user@server_ip:/remote_folder/

How useful was this article?

VAT

  • Other

    Other

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    %
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • Other
  • canada
  • poland
  • european-union
  • france
  • germany
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria