¿Hay alguna manera de continuar con el proceso de comando scp (copia segura) en Linux? [cerrado]

241

Estoy copiando un archivo de 7.5 GB a un servidor remoto usando el comando scp . En algún momento, la transferencia de archivos se interrumpe y tengo que comenzar de nuevo.

¿Se pierde por completo la cantidad temporal de archivo que se transfiere? ¿Puedo reiniciar de alguna manera la transferencia desde donde se detuvo en el intento anterior? Si no, ¿hay algún comando estándar de transferencia de archivos de línea de comando Unix para hacer eso?

Matko
fuente
1
Más respuestas encontradas en esta pregunta , incl. soluciones sin rsync.
tanius

Respuestas:

401

Si necesita reanudar una transferencia scp de local a remota , intente con rsync:

rsync --partial --progress --rsh=ssh local_file user@host:remote_file

Versión corta, como lo señala @ aurelijus-rozenas :

rsync -P -e ssh local_file user@host:remote_file

En general, el orden de los argumentos para rsync es

rsync [options] SRC DEST
Tom McClure
fuente
35
Para un puerto diferente al predeterminado 22 usersync -P -e "ssh -p 222" SRC DEST
asofyan
44
Y si rsync -ese interrumpe, encontré el cambio de nombre de. <Nombre de archivo>. <6funnychars> a <nombre de archivo> en el destino antes de reanudar el rsync -enecesario.
gaoithe
55
rsync solo funciona si lo tiene disponible en el otro lado.
Dothebart
1
¿Realmente rsync reanuda una transferencia de archivos que se inició en scp? ¿Se necesitan realmente dos comandos rsync, un comando rsync, no scp, para comenzar a copiar y luego desconectarse, y luego un segundo comando rsync para reanudar la copia?
Geoffrey Anderson el
44
No importa cómo obtuvo inicialmente la descarga parcial. Puede comenzar con scp y luego terminar con rsync.
Tom McClure el
17

Esto es todo lo que necesitas.

 rsync -e ssh file host:/directory/.
DigitalRoss
fuente