Agence web » Actualités du digital » Comment copier des répertoires de manière récursive avec scp – CloudSavvy IT

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

★★★★★