Necesito copiar un directorio muy grande (hablando en terabytes aquí) y quiero monitorear el progreso.
Descubrí que pves una buena utilidad, pero ¿cómo puedo usarla para copiar directorios de forma recursiva? ( pv src > dstno funciona porque son directorios)
PD: se ejecutó en OS X Mountain Lion, pvse instaló desde puertos Mac

Puede usar
taropaxocpio:fuente
valtarcomando para ver los nombres de los archivos.tar cf -genera un flujo que contiene los archivos y sus metadatos, que se alimenta a través de una tubería a pv que lo alimenta sin tocar al otrotarmientras imprime una indicación de progreso, y el otrotarextrae los datos en ese flujo. Los tres comandos se ejecutan simultáneamente y procesan los datos tal como vienen, no hay nada almacenado en el disco, no hay nada almacenado en la memoria que no sean los almacenamientos intermedios de tuberías y los almacenamientos intermedios de comandos que solo ascienden a unos pocos kilobytes.pvno tiene forma de saber cuántos datos hay que transferir. Si tiene una estimación de esa cantidad, puede pasársela con la-sopción (GNUdu -sb srcle daría una buena aproximación si los archivos son lo suficientemente grandes)Alquitrán.
Ejemplo:
fuente
Aquí hay algunos comandos para copiar directorios con información de progreso.
Si hay muchos archivos pequeños:
Esto informará el progreso en función del número de archivos que se copian.
Puede redirigir a
/dev/nullsi no lo necesitalogfile.Use el siguiente comando para obtener
filecount:Si hay pocos archivos enormes:
Esto informará el progreso en función de los bytes que se copian.
targetdirdebe existirUse el siguiente comando para obtener
size:Si quieres usar rsync:
Obtenga
filecountcomo se muestra arriba.Si está copiando en el mismo sistema, entonces
rsync -aes prácticamente igual quecp -a. Las ventajas de rsync es cuando está copiando a través de la red o si está actualizando (o comparando) una copia anterior.Vea aquí para más detalles:
fuente
Puede hacer
du -b /directory/tanto en el origen como en el destino mientras se está ejecutando un comando de copia normal y comparar los dos. Esto es igual de efectivo y no ralentiza el proceso de copia empujándolo a través de una tubería.fuente
fuente