Zeit macht misstrauisch

closeDieser Beitrag wurde vor über 3 Monaten veröffentlicht. Die darin beschriebenen Informationen sind mit Vorsicht zu geniessen, da sie bereits veraltet oder nicht mehr gültig sein könnten. Solltest du von Neuerungen oder Verbesserungen wissen, so freue ich mich über einen klärenden Kommentar.

Jeder mehr oder weniger geübte Linuxuser kennt dd. Disk Dump ist ideal um eine komplette Festplatte zu backupen. dd ist unter so ziemlich jeder Distribution verfügbar und wird mit folgendem Befehl gestartet:

sudo dd if=Festplatte of=Zielort

Ein Problem von dd jedoch ist, wenn man ein Image von einer 500GB Platte erstellt, dann braucht man Zeit, viel Zeit. Und während dem Kopieren hat man keine Ahnung wie weit der Vorgang ist, geschweige denn ob dd überhaupt noch arbeitet oder sich irgendwo aufgehängt hat.

Um dem entgegenzuwirken hat man Programme wie dd_rescue entwickelt, welche zwar die gleichen Funktionen aufweisen wie dd, jedoch aber benutzerfreundlicher sind (zb. eben mit Rückmeldung des Status).

Doch wieso sollte ich ein weiteres Programm auf meiner Kiste installieren, wo doch schon ein anderes mit der selben Funktion vorhanden ist?

Also habe ich nach einer Lösung gegoogelt, womit man dd zu einer Statusanzeige zwingen kann. Und wie sich herausstellte bin ich mit meinem Problem nicht allein (Zumindest Google lässt mich dies glauben :) ).

google

Die vielversprechenste Lösung habe ich in einem Kommentar in einem anderen Blog gefunden:

Die Lösung mit

pkill -USR1 dd

ist ideal, wenn man sich die Frage nach der Restlaufzeit zu stellen beginnt, nachdem dd schon eine Stunde lang gewerkelt hat.

Weiss man von Anfang an, dass es länger dauert, dann empfiehlt sich ein Weg, der ohne weitere Konsole auskommt. Man bewerkstelligt dies, indem man das Wachsen des Ausgabeziels mit dem “watch”-Kommando überwacht.

Dies kann z.B. erreicht werden, indem “watch” mit “du” oder “ls” kombiniert wird.

dd if=/dev/input of=/home/user/output.img & watch --interval=1 "du -h /home/user/output.img" 

Intervall gibt die Zeitspanne zwischen den Aktualisierungen in Sekunden an.
Der Zuwachs läßt sich noch leichter verfolgen, wenn man “–differences” einbaut:

dd if=/dev/input of=/home/user/output.img & watch –differences –interval=1 “du -h /home/user/output.img”

Dann nämlich werden jeweils die Zeichen invertiert dargestellt, die sich gegenüber der vorherigen Aktualisierung geändert haben. So bekommt man sehr intuitiv einen Eindruck davon, wie schnell der Transfer vonstatten geht – ohne überschlägiges Kopfrechnen.

Es ist wahrscheindlich nicht die beste Lösung, doch weiss man dann endlich wie weit dd ist.

Dank JubJub bin ich noch auf eine fast bessere Lösung gestossen:

eine weiter gute Möglichtkeit für eine Statusanzeige ist, wie ich finde, “pv”. Ganz einfach den dd output durchschleifen und man hatt eine schöne Anzeige; wenn mann die Größe der Festplatte noch mit angibt sogar mit Fortschrittsbalken und ETA:

dd if=/dev/input | pv -s GRÖßE > /home/user/output.img

pv muss dazu natürlich installiert sein

Vielen Dank an JubJub für den super Tipp!

close
Immer informiert sein dank meines RSS Feeds.Oder folge mir via Twitter!

4 Gedanken zu „Zeit macht misstrauisch

  1. JubJub

    eine weiter gute Möglichtkeit für eine Statusanzeige ist, wie ich finde, “pv”. Ganz einfach den dd output durchschleifen und man hatt eine schöne Anzeige; wenn mann die Größe der Festplatte noch mit angibt sogar mit Fortschrittsbalken und ETA:

    “dd if=/dev/input | pv -s GRÖßE > /home/user/output.img”

    pv muss dazu natürlich installiert sein ;)

    Antworten
  2. admin

    @JubJub: Merci für den Tipp, pv ist echt hammer! Hab mich direkt verliebt ;-)
    Das kann man für so ziehmlich alles gebrauchen…

    grz

    Antworten

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <b> <blockquote cite=""> <cite> <del datetime=""> <em> <i> <pre lang="" line="" escaped=""> <strong>