Comando de copia Unix que tiene una barra de progreso, pero no tan pesado como rsync


14

Necesito copiar muchos archivos. Usualmente uso rsync porque le paso las -aPopciones y puedo ver (a) cuántos archivos quedan por procesar y (b) cuánto de cada archivo individual se copia.

Sin embargo, rsync también hace muchas cosas con sumas de verificación para verificar que se haya copiado un archivo. Sin embargo, realmente no necesito eso ahora. Pero normal cpno incluye el recuento de archivos mencionado anteriormente, lo cual es muy útil.

¿Hay algo así cpque incluye el progreso de cuántos archivos quedan, pero no es tan pesado como rsync?

Respuestas:


21

Puede ejecutar rsync con el modificador -W, que deshabilitará las sumas de verificación.


6

Entonces, ¿es este un alias adecuado para sus sugerencias?

cp_p() {
    rsync -WavP $1 $2
}

-W -no use el algoritmo de transferencia delta
-a modo de archivo
-v detallado
-P muestra la barra de progreso y retiene archivos parciales

Otra alternativa que encontré en algunos lugares . requiere paquete pv (pipeviewer) sin embargo.

cp_pv() {
    pv -per $1 > $2
}

-p muestra progreso
-e muestra eta
-r muestra velocidad
-n muestra salida numérica

/ edit Ahora he probado los alias anteriores y puedo confirmar que funcionan. Hubo algunos errores tipográficos antes


Esto parece admitir solo la copia de un archivo en un archivo con nombre en lugar de un directorio. ¿Qué pasa si quiero copiar múltiples archivos? O un directorio?
einpoklum

Bueno, estos son solo alias, por lo que puede experimentar con los comandos sin procesar en el interior para ver qué funciona para usted. Estoy seguro de que rsync admite directorios y otras designaciones de ruta. Puede personalizar fácilmente los alias para que funcione para su situación específica. Comparte si lo haces funcionar. IIRC Lo he usado con directorios antes sin ningún problema.
Vijay

3

puede simplemente golpear la opción -v en el cmd cp o usar scp para el host local


la -v es un buen comienzo, y es bastante útil, pero me gustaría obtener más información sobre exactamente cuántos archivos permanecen / han sido copiados / etc
Rory

2
Entonces quieres la solución de Stefan Wolff.
egorgry


1

Es excesivo con la sobrecarga de cifrado, pero puede usar scplocalmente:

scp <file-from> <file-to>

Mostrará el progreso durante la copia.


Al menos en OSX, scpno muestra ninguna barra de progreso de forma predeterminada, ya que se utiliza cpdebajo del capó cuando se trata de archivos locales.
Sridhar Ratnakumar

1

gcpEs la buena herramienta. Aquí tiene el paquete PyPI , pero también se puede encontrar en el paquete de distribución (por ejemplo, en debian / ubuntu apt-get install gcp hacer el trabajo).

También hay un buen artículo tutorial sobre gcp .

$ gcp -r Solaar / solaar2

Copiando 7.53 MiB 100% | ############################# | 134.92 M / s Hora: 00:00:00
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.