El contenido del directorio no se copia completamente con el comando scp

El contenido del directorio no se copia completamente con el comando scp

Estoy ejecutando Windows 10, el servidor está en Debian 10 y estoy copiando unEsbeltocrear un directorio desde mi computadora a un servidor remoto. Estoy usando el comando para copiar los archivos:

scp -r ./build [email protected]:~/directory

Pero hay algunos archivos (y directorios completos) que constantemente se omiten y termino teniendo que revisarlos y copiarlos manualmente.

Directorio remoto.

Captura de pantalla.

Directorio local; (play)se elimina todo el directorio.

Captura de pantalla.

Intenté ejecutarlo con el argumento detallado, pero no me dijo nada especial (creo). ¿Por qué hace esto y cómo puedo evitarlo?

Respuesta1

Generalmente uso SCP para transferir un archivo a la vez. O simplemente archivos que coinciden con un patrón de un directorio específico. Nunca para copiar una estructura de directorio completa

Para casos como ese, usaría Rsync en su lugar. Por ejemplo, aquí está su comando traducido a un equivalente de Rsync:

rsync -avzh ./build [email protected]:~/directory

Pruébalo. Deberia de funcionar.

Respuesta2

Creo que SCP necesita una estructura de directorios para existir en el servidor remoto. No creará carpetas.

Puedes usar -eflag con rsync, para usar un shell remoto para realizar la transferencia.

rsync -r -e "ssh -p 222" /home/test/dev [email protected]:/home/remotetest/dev

Respuesta3

Acabo de tener el mismo problema y probablemente fue causado por este error:https://github.com/PowerShell/Win32-OpenSSH/issues/1897

SCP falla con una copia recursiva con una estructura de directorios de más de ocho carpetas de profundidad. Los directorios hasta el octavo directorio se crean en el destino, pero no se crean directorios más profundos que el octavo directorio. No se copia ningún archivo.

En mi caso, la mayoría de los archivos se copiaron, pero faltaban algunos, no solo de los directorios de 8 niveles hacia abajo, sino también de los niveles de directorio superiores.

La versión de scp que no funciona correctamente en mi Windows 10 (con todas las actualizaciones) era la versión 8.1.0.1. Instalé openssh v9.5.0.0p1 desdecucharónen su lugar y funciona sin problemas.

información relacionada