Comment copier des répertoires de manière récursive avec scp – CloudSavvy IT
Un problème courant lorsque vous travaillez avec des fichiers est d’appliquer des opérations de manière récursive ou à chaque sous-répertoire du dossier entier. Les scp
L’utilitaire 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
Bien qu’il soit parfois plus rapide d’effectuer des transferts volumineux dans une seule archive connue sous le nom d’archive tar, la plupart du temps, la surcharge de transfert de fichiers individuels n’a pas d’importance.
Copie récursive avec scp
est simple : utilisez simplement le -r
flag en plus de tout ce que vous avez ajouté :
scp -r localpath user@remote:/remotepath
Notez qu’il s’agit explicitement d’une minuscule -r
, 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/
à la télécommande et en les plaçant dans /remotepath/localpath/
.
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, copier 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 scp
peut faire, mais a beaucoup plus d’options et est beaucoup plus rapide à 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 « synchroniser » en continu deux répertoires l’un avec 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/
Les -a
indicateur spécifie mode d’archivage, qui active simultanément de nombreuses options couramment utilisées. Les -e ssh
le drapeau s’installe rsync
pour transférer via SSH.
Comment utiliser rsync pour sauvegarder vos données sous Linux