47 votes

PSCP: Télécharger un dossier entier, de Windows à Linux

Je suis en train d'utiliser PSCP pour télécharger des fichiers de Windows vers Linux. Je peux le faire en téléchargeant un fichier à la fois. Mais j'ai quelques répertoires très volumineux et je veux télécharger un répertoire entier en une seule fois.

J'ai essayé :

pscp -i C:\sitedeploy\abt-keypair.ppk includes\* root@mysite.com:/usr/local/tomcat/webapps/ROOT/includes/*

Lance une erreur : "pscp: remote filespec /usr/local/tomcat/webapps/ROOT/includes/*: non un répertoire"

et

pscp -i C:\sitedeploy\abt-keypair.ppk includes\ root@mysite.com:/usr/local/tomcat/webapps/ROOT/includes/

Lance une erreur : "scp: includes: non un fichier régulier"

et

pscp -i C:\sitedeploy\abt-keypair.ppk includes root@mysite.com:/usr/local/tomcat/webapps/ROOT/includes

Lance une erreur : "scp: includes: non un fichier régulier"

47voto

Amy Anuszewski Points 1228

Deux problèmes: Tout d'abord, l'astérisque ne va pas du côté de la destination. Deuxièmement, -r est pour copier un répertoire entier et ses sous-répertoires.

pscp -i C:\sitedeploy\abt-keypair.ppk includes\* root@mysite.com:/usr/local/tomcat/webapps/ROOT/includes/

Copiera tous les fichiers du répertoire local includes\ dans le répertoire .../includes/ sur le serveur.

pscp -r -i C:\sitedeploy\abt-keypair.ppk includes\ root@mysite.com:/usr/local/tomcat/webapps/ROOT/

Copiera le répertoire includes\ lui-même, y compris tous les fichiers et sous-répertoires, dans le répertoire .../ROOT/ sur le serveur (où le contenu du répertoire local fusionnerait avec tout répertoire existant .../ROOT/includes/).

8voto

Avertissement :

Vous n'avez pas besoin d'utiliser -i pour cela. C'est pour l'authentification par fichier de clé privée. Il suffit d'utiliser -r pour copier les fichiers sources de manière récursive.

Vous pouvez préférer une méthode de glisser-déposer étant donné que vous utilisez Windows. Vous pouvez par exemple utiliser le client WINSCP.

6voto

user9517 Points 113163

Si vous voulez copier un répertoire et son contenu, vous n'avez pas besoin de fournir de spécification de fichier pour la destination. Utilisez simplement le nom du répertoire, par exemple.

pscp -i C:\sitedeploy\abt-keypair.ppk includes\* root@mysite.com:/usr/local/tomcat/webapps/ROOT/includes/

Si vous souhaitez copier le répertoire et tout ce qui se trouve en dessous, vous pouvez utiliser -r:

pscp -r -i C:\sitedeploy\abt-keypair.ppk includes\ root@mysite.com:/usr/local/tomcat/webapps/ROOT/includes/

0voto

Nayish Points 3342

Si vous souhaitez copier le dossier lui-même avec tout ce qu'il contient, vous devez utiliser une commande comme ci-dessous:

pscp -r -i C:\PrivateKeys\MyPrivateKey.ppk C:\FOLDER1 @:/home//

Mais notez qu'il n'y a pas de barre oblique à la fin du chemin du dossier "C:\FOLDER"; si vous l'utilisez avec une barre oblique finale comme "C:\FOLDER1\", il ne copie pas le dossier lui-même, mais seulement copie tout ce qu'il contient sous le dossier.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X