Comment copier des répertoires de manière récursive avec scp

Un problème courant lors de l'utilisation de fichiers est l'application d'opérations de manière récursive ou à chaque sous-répertoire du dossier entier . L'utilitaire scp est utilisé pour transférer des fichiers et des répertoires vers des serveurs distants et prend en charge les opérations récursives.

Exécuter scp de manière récursive

Pendant qu'il est parfois plus rapide pour les transferts volumineux à effectuer dans une seule archive connue sous le nom de tarball, la plupart du temps la surcharge de transfert de fichiers individuels n'a pas d'importance.

La copie récursive avec scp est simple : il suffit utilisez le drapeau -r en plus de tout ce que vous avez ajouté :

scp -r localpath user@remote:/remotepath

Notez qu'il s'agit explicitement de -r en minuscule, contrairement à beaucoup d'autres commandes qui utilisent ou nécessitent -R.

Cela agira comme un glisser-déposer dans /remotepath/, en copiant le contenu de localpath/sur la télécommande et en le plaçant dans /remotepath/localpath/.

Publicité

Si vous souhaitez plutôt synchroniser localpath / et /remotepath/, vous devrez transférer le dossier dans le dossier parent de /remotepath/, la destination. Dans ce cas, ce serait /, le répertoire racine.

Cela suivra également les liens symboliques dans le chemin local lors de la résolution des fichiers, mais ne créera pas nécessairement ces mêmes liens sur le serveur distant. Par exemple, la copie d'un tout nouveau fichier vers et depuis /etc/nginx/sites-enabled ne le placera pas automatiquement dans /etc/nginx/sites-available sur la télécommande.

Utiliser rsync à la place

Linux dispose de plusieurs outils pour gérer ce travail, et l'un des meilleurs est rsync, qui fait tout ce que scp peut faire, mais a beaucoup plus d'options et est beaucoup plus rapide pour démarrer. Il ne copie pas non plus les fichiers qui n'ont pas été modifiés, ce qui en fait un excellent outil pour la “synchronisation” deux répertoires l'un à l'autre sans retransférer les données inutilement.

rsync fonctionne essentiellement de la même manière que scp, avec quelques options supplémentaires incluses pour spécifier les paramètres :

rsync -a -essh ​​localpath/user @remote:/remotepath/

L'indicateur -a spécifie le mode d'archivage, qui active de nombreuses options couramment utilisées à la fois. L'indicateur -e ssh configure rsync pour le transfert via SSH.

CONNEXES : Comment utiliser rsync pour sauvegarder vos données sous Linux


Posted

in

by

Tags: