dd ist das Kommandozeilen Kopiertool von *nix-Betriebssystemen. Im Gegensatz zu den meisten Programmen, hat es aber keine Statusanzeige oder gar einen Statusbalken um den Fortschritt anzuzeigen, so dass man kontrollieren kann, ob sich das Programm nicht vielleicht aufgehängt hat.
Mit diesem Trick kann man aus dd dennoch zu einer Ausgabe zwingen:
- dd Kopiervorgang starten, z.B.:
$ dd if=/dev/sdb of=/dev/sdc
- Neue Konsole öffnen
- PID vom dd-Prozess herausfinden:
$ ps -A |grep dd
Die Ausgabe könnte z.B. so aussehen:
$ 4905 pts/0 00:00:00 dd
- Statusreport-Signal an dd senden(PIDist die Nummer die Schritt 3. ergeben hat, z.B. 4095):
$ kill -USR1 PID
- In der Konsole aus der ddgestartet wurde müsste jetzt eine Ausgabe kommen, z.B.
75273+0 Datensätze ein 75273+0 Datensätze aus 38539264 Bytes (39 MB) kopiert, 27,4718 s, 1,4 MB/s
Ausserdem gibt es noch ein grafisches Tool für dd: air-imager
Credits to jma89 and h4shBrpwnz at linuxquestions.org
//update:
Das kleine Programm pipe viewer(pv) tuts auch und man bekommt sogar noch Datenrate und Fortschrittsbalken. Einfach installieren:
$ sudo apt-get install pv
Und dann über den geraden Strich über den eckigen Klammern an den dd Befehl hängen:
$ dd if=/mnt/sdx of=/mnt/sdy | pv
Credits to Peteris Krumin for finding this.
//update2:
Manchmal klappt das so nicht, z.B. beim Raspberry Pi (interne SD Karte auf USB Stick(/dev/sda) sichern). Dort muss man das folgendermaßen machen:
sudo dd if=/dev/mmcblk0 | pv | sudo dd of=/dev/sda
Wenn man nicht gerade ganze Disks kopieren will kann man auch mit
rsync –progress /home/user /bak/user
Dateien kopieren und einen „Fortschrittsbalken“ und Stats anzeigen lassen.
Danke:)