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:
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' [email protected]:/foobar.txt ./my-local-copy.txt
maldito
44
por qué usar rsync mientras solo necesitas agregar -vascp
¡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.
Respuestas:
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
--progress
opción dersync
. Puede usar el siguiente comando:fuente
2741851 0% 700.39kB/s 0:17:21
una barra de progreso gráfica (lo que creo que quiere el OP).-e ssh user@remote-system:
para una copia local yman rsync
explica las muchas, muchas opciones)rsync -avz --progress -e 'ssh -p 1223' [email protected]:/foobar.txt ./my-local-copy.txt
rsync
mientras solo necesitas agregar-v
ascp
El
-v
interruptor funciona bien.Ejemplo:
fuente
-3
.man scp
: "-3
Las 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 " .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
File
menú paraConnect to server...
fuente
A partir de 2018, el progreso y ETA se muestran de forma predeterminada y podrían deshabilitarse
-q
fuente