¿Cómo puedo saber cuánto tiempo tomará la clonación `dd`?

Tengo que dd un par de discos duros de 1TB. Se están tomando varias horas para clonar y me preguntaba si había alguna forma posible de saber qué tan rápido van, cuánto han hecho y cuánto tiempo tomarán para copiar el rest.

Todo lo que puedo ver es el terminal con el comando en ejecución. Cuando ejecuto ps -e al menos sé que dd está funcionando con el uso de CPU que se muestra, pero no tengo forma de saber cuánto ha hecho o cuánto tiempo llevará terminar.

Algo así me vuelve loco.

Use el progtwig pv para cualquier flujo canalizado para ver un informe en vivo de los datos transferidos. Puede ser utilizado para cualquier aplicación utilizando tuberías. También es una gran herramienta para ver la tasa de transferencia a cosas como USB, discos externos, computadoras en red.

 dd if=infile | pv > outfile 

O para copiar directamente, simplemente use esto:

 pv infile > outfile 

Ejemplo:

 sudo pv /dev/sda1 > /home/user/sda1.ext4.img 

Típico. Cuando pregunto algo, entonces encuentro la respuesta de alguna manera (incluso si busqué por horas … pero mágicamente la encuentro DESPUÉS de crear la pregunta -.-). De todos modos, para lo que verifiqué con dd --help que menciona al final de la ayuda (realmente no puedo creer que no haya visto ESO) lo siguiente:

 Sending a USR1 signal to a running `dd' process makes it print I/O statistics to standard error and then resume copying. $ dd if=/dev/zero of=/dev/null& pid=$! $ kill -USR1 $pid; sleep 1; kill $pid 18335302+0 records in 18335302+0 records out 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s 

Lo que esto significa es que en otra terminal ejecutaría la siguiente línea utilizando la ID de proceso del DD que desea verificar. Por ejemplo, en mi caso es el Id. De proceso 4112. Puede ver la ID del proceso escribiendo ps -e y buscando dd o simplemente ps -e|grep dd y mirando el número en el frente. Tome nota de ese número y luego escriba en otra ventana de terminal kill -USR1 4112; sleep 1; kill -USR1 4112; sleep 1; Esto me dará el tiempo, los segundos transcurridos desde que comenzó y cuánto se ha copiado. Al menos ahora sé que toma aproximadamente 8 horas copiar 1 TB de información a aproximadamente 40MB / s.

Con respecto al uso de kill para mostrar información en una Mac, debe pasarle el indicador -INFO lugar del indicador -USR1 . Y recuerde que muestra la información en el terminal donde se está ejecutando su proceso de dd, por lo que si abre una nueva pestaña para escribir kill -INFO $PID (donde $PID es el número que encontró usando ps -e | grep dd ), Tendremos que volver a la pestaña donde se está ejecutando dd para ver la salida.

Ahora, si tan solo pudiera descubrir cómo mostrar esa salida como GB o MB en lugar de bytes simples …

Ya hay otro dd extendido llamado dcfldd que hace muchas cosas divertidas, ya que estas pidiendo http://dcfldd.sourceforge.net/

  1. sudo apt-get install dcfldd
  2. En lugar de dd escribes dcfldd
    Intereting Posts