PSCP: cargue una carpeta completa, Windows a Linux

36

Estoy usando PSCP para cargar algunos archivos de Windows a Linux. Puedo hacerlo bien solo cargando un archivo a la vez. Pero tengo algunos directorios muy grandes y quiero cargar un directorio completo a la vez.

Yo he tratado:

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

Lanza error: "pscp: especificación de archivo remota / usr / local / tomcat / webapps / ROOT / includes / *: no es un directorio"

y

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

Lanza error: "scp: incluye: no es un archivo normal"

y

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

Lanza error: "scp: incluye: no es un archivo normal"

UpHelix
fuente
44
¿Intentaste agregar -r?
Pablo Castellazzi

Respuestas:

36

Dos problemas: Primero, el * no va del lado del destino. En segundo lugar, -res para copiar un directorio completo y subdirectorios.

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

Copiará todos los archivos en el includes\directorio local al .../includes/directorio en el servidor.

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

Copiará el includes\directorio en sí, incluidos todos los archivos y subdirectorios, en el .../ROOT/directorio del servidor (donde el contenido del directorio local se fusionaría con cualquier .../ROOT/includes/directorio existente .

DerfK
fuente
6

Renuncia:

No necesitas usar -ipara esto. Es para la autenticación de archivos de clave privada. Solo use -rpara copiar los archivos fuente de forma recursiva.

Es posible que desee un método de arrastrar y soltar ya que está utilizando Windows. Puede, por ejemplo, usar el cliente WINSCP .

Swiper Noswiping
fuente
5

Si desea copiar un directorio y su contenido, no necesita proporcionar una especificación de archivo para el destino. Simplemente use el nombre del directorio, por ejemplo.

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

Si desea copiar el directorio y todo lo que está debajo, puede usar -r:

pscp -r -i C:\sitedeploy\abt-keypair.ppk includes\ [email protected]:/usr/local/tomcat/webapps/ROOT/includes/
Ha llegado el momento
fuente