web-dev-qa-db-fra.com

PSCP: télécharger un dossier entier, Windows vers Linux

J'utilise PSCP pour télécharger des fichiers de Windows vers Linux. Je peux le faire très bien en téléchargeant un fichier à la fois. Mais j'ai des répertoires très volumineux et je veux télécharger un répertoire entier à la fois.

J'ai essayé:

pscp -i C:\sitedeploy\abt-keypair.ppk includes\* [email protected]:/usr/local/Tomcat/webapps/ROOT/includes/*

Génère une erreur: "pscp: spécification de fichier distant/usr/local/Tomcat/webapps/ROOT/includes/*: pas un répertoire"

et

pscp -i C:\sitedeploy\abt-keypair.ppk includes\ [email protected]:/usr/local/Tomcat/webapps/ROOT/includes/

Lance une erreur: "scp: comprend: pas un fichier normal"

et

pscp -i C:\sitedeploy\abt-keypair.ppk includes [email protected]:/usr/local/Tomcat/webapps/ROOT/includes

Lance une erreur: "scp: comprend: pas un fichier normal"

38
UpHelix

Deux problèmes: Premièrement, le * ne va pas du côté destination. Seconde, -r sert à copier un répertoire et des sous-répertoires entiers.

pscp -i C:\sitedeploy\abt-keypair.ppk includes\* [email protected]:/usr/local/Tomcat/webapps/ROOT/includes/

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

pscp -r -i C:\sitedeploy\abt-keypair.ppk includes\ [email protected]:/usr/local/Tomcat/webapps/ROOT/

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

39
DerfK

Avertissement:

Vous n'avez pas besoin d'utiliser -i pour ça. C'est pour l'authentification du fichier de clé privée. Utilisez simplement -r pour copier les fichiers source de manière récursive.

Vous voudrez peut-être une méthode de glisser-déposer puisque vous utilisez Windows. Vous pouvez - par exemple - utiliser client WINSCP .

6
Swiper Noswiping

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

pscp  -i C:\sitedeploy\abt-keypair.ppk includes\* [email protected]:/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\ [email protected]:/usr/local/Tomcat/webapps/ROOT/includes/
5
user9517