
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.
Directorio local; (play)
se elimina todo el directorio.
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 -e
flag 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.