Fortschrittsanzeige für dd

Das Programm dd kopiert sehr einfach z.B. Partitionen, ganze Platten oder legt Images an. Leider ist es nicht sehr gesprächig, was sich aber ändern lässt.

In einer zweiten Konsole sucht man sich erst die PID des dd Prozess raus

root@rechner:~# pgrep -l '^dd$'
3534 dd

Nun sendet man dem Prozess ein USR1 Signal und dd sendet eine "Statistik" auf STDERR. Abzulesen ist diese in der Regel auf der Konsole in der dd läuft.

root@console1:~# dd if=/dev/zero of=/dev/null bs=10M count=10000
root@console2:~# pgrep -l '^dd$'
3545 dd
root@console2:~# kill -USR1 3545'
root@console1:~# 
9996+4 records in
9996+4 records out
104838082560 bytes (105 GB) copied, 43,097 s, 2,4 GB/s

Über den Befehl watch kann man dies wiederholen lassen.

root@console2:~# watch -n 5 kill -USR1 3545