GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment envoyer et télécharger des fichiers à l'aide de Rsync

Rsync signifie "synchronisation à distance". Rsync est l'outil le plus robuste, polyvalent et flexible pour transférer des fichiers par rapport à d'autres alternatives comme SCP. C'est un excellent outil pour les opérations quotidiennes du serveur telles que la sauvegarde et la restauration, et les opérations générales sur les fichiers entre deux ou plusieurs machines locales et distantes. Dans cet article, nous allons vous montrer comment envoyer et télécharger des fichiers à l'aide de rsync.

1. Syntaxe de Rsync

La syntaxe suivante est probablement la forme la plus courante de commande rsync que vous verrez.

# rsync [options] /source /destination

Ce sont les options couramment utilisées

-v, --verbose increase verbosity, provide more information about what the command is doing
-q, --quiet suppress non-error messages
-c, --checksum skip based on checksum, not mod-time and size
-a, --archive archive mode; equals -rlptgoD (no -H,-A,-X)
-r, --recursive recurse into directories
-u, --update skip files that are newer on the receiver
-d, --dirs transfer directories without recursing
-p, --perms preserve permissions
-E, --executability preserve executability
-A, --acls preserve ACLs (implies -p)
-X, --xattrs preserve extended attributes
-o, --owner preserve owner (super-user only)
-g, --group preserve group
-D same as --devices --specials
-t, --times preserve modification times
-S, --sparse handle sparse files efficiently
-n, --dry-run perform a trial run with no changes made
-W, --whole-file copy files whole (w/o delta-xfer algorithm)
-x, --one-file-system don't cross filesystem boundaries
-B, --block-size=SIZE force a fixed checksum block-size
-e, --rsh=COMMAND specify the remote shell to use
-P same as --partial --progress

Par exemple, nous allons synchroniser les fichiers de /var/www/html/ vers /opt/backup/ . Pour terminer cela, nous pouvons exécuter cette commande :

# rsync -Wav /var/www/html/ /opt/backup/

Décomposons la commande ci-dessus. Les options sont archive (-a) , qui indique à rsync de copier les fichiers de manière récursive et de préserver la propriété du groupe et de l'utilisateur lorsqu'il copie des fichiers. Cette option est en fait une combinaison de l'option (-rlptgoD) qui inclut le transfert récursif, le transfert des heures de modification des fichiers, les autorisations des fichiers, les liens symboliques, etc.

Avec ce (-W) option, l'algorithme de transfert delta n'est pas utilisé et le fichier entier est envoyé tel quel à la place. Il s'agit de la valeur par défaut lorsque la source et la destination sont spécifiées en tant que chemins locaux, mais uniquement si aucune option d'écriture par lots n'est en vigueur.

L'option détaillée (-v) dit à rsync d'afficher plus d'informations sur ce qu'il fait au terminal.

2. Comment télécharger des fichiers à l'aide de Rsync

Dans l'étape précédente, nous avons appris à copier des fichiers d'un emplacement à un autre à l'aide de rsync. Maintenant, nous allons télécharger des fichiers depuis un serveur distant en utilisant rsync. En gros, la commande est la même, il suffit de remplacer la source par un nom d'utilisateur SSH du serveur distant car le transfert utilisera une connexion SSH.

# rsync [-options] user@SOURCE_IP_ADDRESS:/SOURCE /DESTINATION

Par exemple, nous voulons télécharger ou copier un répertoire de notre serveur à l'adresse IP 1.2.3.4 vers un autre serveur à 5.6.7.8 . Disons que nous allons télécharger ou copier /var/www/html/ vers /home/master/

Nous devons nous connecter à notre serveur à 5.6.7.8 et exécuter cette commande.

# rsync -Wav -e 'ssh -p 7022' [email protected]:/var/www/html/ /home/master/

Comme vous pouvez le voir, nous avons ajouté une option (-e). Cette option est utilisée pour spécifier le shell distant à utiliser et le port auquel nous allons nous connecter. Étant donné que le SSH sur le serveur distant écoute sur le port 7022, nous pouvons l'ajouter en tant que "ssh -p 7022". Si le port SSH du serveur distant est le port 22 par défaut, vous pouvez simplement utiliser "-e ssh" comme option dans la syntaxe de la commande rsync.

Le dernier, faites attention à la barre oblique finale dans la source (/var/www/html/ ). Si vous souhaitez télécharger ou copier UNIQUEMENT le contenu du répertoire html sans le répertoire html lui-même, n'oubliez pas d'ajouter une barre oblique finale. Si vous n'ajoutez pas de barre oblique finale, la commande copiera le répertoire html et son contenu.

3. Comment envoyer des fichiers à l'aide de Rsync

Cette fois, la destination sera un système distant tandis que la source est locale, elle est donc considérée comme un envoi de fichiers. Vous pouvez spécifier un compte d'utilisateur distant s'il est différent de celui que vous utilisez pour envoyer les fichiers à l'aide de rsync. Ensuite, ledit compte d'utilisateur doit avoir une autorisation écrite sur le serveur distant.

La commande ressemblera à ceci

# rsync [-options] /SOURCE user@DESTINATION_IP_ADDRESS:/DESTINATION
# rsync -Wav -e 'ssh -p 7022' /home/master/ [email protected]:/var/www/html/

Bien entendu, le compte utilisateur que vous référencez sur le serveur distant devra disposer des autorisations appropriées pour écrire dans le répertoire de destination.

C'est ça. Vous avez appris à envoyer et télécharger des fichiers à l'aide de rsync. Pour en savoir plus sur les options disponibles, vous pouvez exécuter man rsync dans votre terminal. La commande vous montrera le manuel de rsync.

Bien sûr, vous n'avez pas besoin d'envoyer et de télécharger des fichiers à l'aide de rsync si vous utilisez l'un de nos services d'hébergement VPS Linux, auquel cas vous pouvez simplement demander à nos administrateurs Linux experts d'envoyer et de télécharger des fichiers à l'aide de rsync pour vous. Ils sont disponibles 24h/24 et 7j/7 et prendront immédiatement en charge votre demande.

PS. Si vous avez aimé cet article sur la façon d'envoyer et de télécharger des fichiers à l'aide de rsync, partagez-le avec vos amis sur les réseaux sociaux à l'aide des boutons ci-dessous ou laissez simplement une réponse dans les sections de commentaires. Merci.


Cent OS
  1. Comment chiffrer et déchiffrer des fichiers et des répertoires à l'aide de Tar et OpenSSL

  2. Comment télécharger ou télécharger des fichiers/répertoires à l'aide de sFTP sous Linux

  3. Comment télécharger et charger des fichiers via SSH

  4. Comment répertorier, télécharger et télécharger des fichiers à partir d'un serveur SFTP à l'aide de golang

  5. wget vs curl :comment télécharger des fichiers à l'aide de wget et curl

Comment synchroniser des fichiers et des répertoires à l'aide de Zaloha.sh

Comment organiser et modifier des fichiers PDF à l'aide de PDF Arranger

Comment sauvegarder des fichiers et des répertoires à l'aide de Rsync sous Linux

Comment télécharger des fichiers sur Debian en utilisant curl et wget sur la ligne de commande

Comment installer LFTP pour télécharger et télécharger des fichiers sous Linux

Comment supprimer des fichiers et des répertoires à l'aide de la ligne de commande Linux