Barra de progreso para comando scp


92

¿Hay alguna forma de mostrar una barra de progreso mientras se copia del servidor a local (o viceversa) usando scp?


Ahora estoy obteniendo el porcentaje, pero necesito una barra de progreso.
Abdul Shajin

hay un guión, pero no tengo idea de cómo hacerlo funcionar
Uri Herrera

1
Es posible que pueda modificar este script para una barra de progreso para 'cp': chris-lamb.co.uk/2008/01/24/…
Rinzwind

scp -r no muestra la barra de progreso pero da un porcentaje de cada archivo
spyderman4g63

Respuestas:


93

No creo que se pueda hacer esto scp. La última vez que necesité algo como esto, es decir, el progreso que se muestra, lo utilicé rsync. Muestra el progreso en forma de barra. Ve si funciona para ti.

Deberá usar la --progressopción de rsync. Puede usar el siguiente comando:

rsync -r -v --progress -e ssh user@remote-system:/address/to/remote/file /home/user/

1
Iba a publicar algo similar, pero cuando lo probé, acabo de recibir 2741851 0% 700.39kB/s 0:17:21una barra de progreso gráfica (lo que creo que quiere el OP).
Oli

1
@Oli: Creo que es porque estás copiando un archivo muy pequeño. La copia finaliza antes de que rsync pueda mostrar el progreso. Si copia un archivo más grande, debería obtener una barra de progreso.
binW

1
Para cualquiera que estaba buscando cp con barra de progreso, rsync funciona muy bien localmente, ¡así que esto también responde a esa pregunta! (Simplemente deje el -e ssh user@remote-system:para una copia local y man rsyncexplica las muchas, muchas opciones)
sabio

1
Si desea conectarse a un puerto SSH diferente al predeterminado, puede usar algo comorsync -avz --progress -e 'ssh -p 1223' root@google.com:/foobar.txt ./my-local-copy.txt
maldito

44
por qué usar rsync mientras solo necesitas agregar -vascp
Samir Sabri

64

El -vinterruptor funciona bien.

Ejemplo:

5% 9232KB 357.5KB / s 07:48 ETA


66
Esa es la respuesta correcta.
int_32

¡Esa debería ser la respuesta correcta! por qué molestarse e instalar rsync
Samir Sabri

3
No parece funcionar cuando se usa -3.
fuero

1
@fuero man scp: " -3Las copias entre dos hosts remotos se transfieren a través del host local. Sin esta opción, los datos se copian directamente entre los dos hosts remotos. Tenga en cuenta que esta opción desactiva el medidor de progreso " .
The Guy with The Hat

4

No sé cómo hacer esto en una línea de comando. Estoy seguro de que es posible, pero hay un método gráfico para hacerlo.

Nautilus (el explorador de archivos predeterminado en Ubuntu) puede montar servidores ssh / sftp. Después de eso, actúan como un sistema de archivos local y puede copiar archivos como lo haría normalmente. Y obtienes la barra de progreso habitual que obtendrías con una copia normal.

Mira debajo del Filemenú paraConnect to server...


4

A partir de 2018, el progreso y ETA se muestran de forma predeterminada y podrían deshabilitarse -q


no en macos, jajaja!
Drachenfels

Con esto, ¿te refieres al progreso general o por archivo? Solo lo veo por archivo en mi Debian 9. recién instalado
mazunki
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.