Tip: comando dd con barra de progreso

13
16899

dd es un comando muy “silencioso” y por lo tanto algunas veces un tanto peligroso y desesperante. En este post te mostraremos como hacer que este fabuloso comando nos muestre una barra de progreso similar a la que aparece cuando descargamos archivos con el comando wget.

El comando dd es una poderosa herramienta que permite hacer muchas cosas, entre ellas encontramos una manera fácil de clonar particiones e incluso discos duros completos. Sólo tiene un pequeño inconveniente, es un comando muy “silencioso” pues al ejecutarlo, el prompt del terminal queda inmóvil, por lo que puede ocasionar nerviosismo al no saber que es lo que esta pasando y cuanto tiempo falta para que termine de ejecutarse.
Todo esto se soluciona con el comando pv, el cual actúa como una tubería de terminal que mide los datos que pasan a través de ella. Quedaría como sigue:
dd if=/lugar/de/origen |pv|dd of=/lugar/de/destino

Como resultado obtendríamos en el terminal una barra de progreso, la información sobre bytes transferidos, el tiempo que lleva ejecutándose y la tasa de transferencia, todo esto en tiempo real.


Además al terminar nos muestra estadísticas de la tasa de transferencia, el total de bytes transferidos y el tiempo total que tardó en transferir todos los datos.

Ejemplos:

Clonar un disco duro:

dd if=/dev/sda |pv|dd of=/dev/sdb

Clonar una partición:

dd if=/dev/sdc2 |pv|dd of=/dev/sda1

Crear una imagen iso de una partición o disco duro (excelente opción para backups):

dd if=/dev/sda1 |pv|dd of=/home/usuario/backup.iso

En algunas distros puede que pv no venga instalado, así que bastará con instalarlo para poder usar este tip.

↓↓↓¿Te sirvió este artículo?, Vota por nosotros en los OpenAwards↓↓↓

13 COMENTARIOS

  1. Otro Tips para crear un liveUsb

    dd if=/home/usuario/isodelsistema.iso |pv|dd of=/dev/sdx (sdx reemplazar por el correspondiente al pendrive/memoria flash)

  2. La imagen iso de una partición te puede servir como respaldo, más no es como una iso de un sistema operativo, no será posible instalar un sistema a partir de una iso generada de una partición.

    Por ejemplo puedes hacer una imagen iso de tu partición /home que quedaría por ejemplo así: mi_home.iso y guardarla en cualquier partición o incluso otro pc, y si por alguna desgracia perdieras tu partición /home podrias restaurarla como si nada hubiera pasado con un comando como el siguiente:

    dd if=/lugar/donde/esta/mi_home.iso |pv|dd of=/dev/partición_donde_estaba_home

  3. Una gran herramienta, que soluciona problemas a todo, el mundo, muy útil para comandos silenciosos, la verdad debería estar puesto por defecto en estos comandos.

Dejar una respuesta