MiniTipp: I/O Statistiken eines laufenden «dd» anzeigen
Möchte man eine exakte Kopie einer Festplattenpartion anlegen oder eine Partition mit Zufallswerten vollschreiben ist dd das Mittel der Wahl.
Um z.B den Inhalt von
/dev/sda auf /dev/sdb zu kopieren, tippt man
# dd if=/dev/sda of=/dev/sdb bs=4M
Um /dev/sdb5 mit Zufallswerten vollzuschreiben dagegen tippte man
# dd if=/dev/urandom of=/dev/sdb5 bs=4M
Je nach Größe der Partition kann dieser Prozess durchaus mehrere Stunden in Anspruch nehmen. Am Ende aber gibt dd die I/O-Statistiken aus:
743+0 records in 743+0 records out 3116367872 bytes (3.1 GB) copied, 88.7885 s, 35.1 MB/s
Möchte man nun aber eine 2 TB große Partition mit Zufallswerten vollschreiben, würde man dann doch gerne etwas über den Fortschritt der Aktion erfahren - schließlich lässt sich die Kopiergeschwindigkeit schwer vorhersagen.
Dazu sendet man einfach ein USR1-Signal an den dd-Prozess und
dd schreibt die I/O Statistiken nach stdout. Zunächst benötigen wir natürlich
die Prozess-ID:
# ps -ef | grep -w '[d]d' root 12731 11445 0 21:51 pts/1 00:00:00 dd if=/dev/random of=/dev/sdb5 bs=4M
Dann senden wir das USR1-Signal...
# kill -USR1 12731
und dd gibt den Kopierfortschritt aus, arbeitet aber weiter. Die Ausgabe erscheint
natürlich auf dem Terminal, auf dem das dd-Kommando abgesetzt wurde und nicht dort, wo wir
den kill-Befehl abgesetzt haben.
# dd if=/dev/urandom of=/dev/sdb5 bs=4M 0+1151 records in 0+1151 records out 9237 bytes (9.2 kB) copied, 0.391 s, 23.1 kB/s _
unixwerk