Ich habe hier einmal beschrieben, wie man Images von Festplatten/Partitionen auf verschieden Weise erstellt.

Dies ist auch auf Floppys, CDs, USB-Sticks und anderen Speichermedien anwendbar

Einfachste Art

Backup

Die einfachste Art der Image-Erstellung ist

dd if=/dev/sda of=/home/backup.img

Restore

Zurückspielen des Images

dd if=/home/backup.img of=/dev/sdb

komprimiertes Image

Backup

Dieses Image ist aber sehr groß, deshalb wird komprimiert

dd if=/dev/sda | gzip > /home/backup_compress.img.gz

oder

dd if=/dev/sda | bzip2 -5 > /home/backup_compress.img.bz2

Restore

Zurückspielen des Images

gunzip -c /home/backup_compress.img.gz | dd of=/dev/sdb

bzw

bunzip -c /home/backup_compress.img.bz2 | dd of=/dev/sdb

Komprimiertes Image über Netzwerk

Backup

Wenn man jetzt das Image noch über Netzwerk auf einen anderen Rechner spielen will, sieht das wie folgt aus

Zielrechner

netcat -l -p 5555 | dd of=/home/netcat_backup.img.bz2

Quellrechner

dd if=/dev/sda | bzip2 -1 | netcat <ZielIP> 5555

Die Ports (hier 5555) sind beliebig wählbar, empfohlen ist aber ein Port höher als 1024.

Restore

Zum Restore sollte folgendes funktionieren

Zielrechner

netcat -l -p 5555 | dd of=/def/sdb

Quellrechner

bunzip -c /home/netcat_backup.img.bz2 | netcat <ZielIP> 5555

Statusanzeige

Leider verhält sich dd wie ein typisches Unix-Programm. Wenn es keine Fehler gibt, wird nichts ausgegeben.

Da wir aber den Status sehen wollen, muss man folgendes tun

Methode 1

In einer zweiten Konsole (Strg+Alt+F1…6) folgenden Befehl eingegen

kill -USR1 `pidof dd`

diese Zeile macht keine Ausgabe. Jetzt muss man wieder auf die Konsole wechseln, auf der dd ausgeführt wird. Hier erkennt man nun, wie viel er schon kopiert hat.

Da man aber nicht immer diesen Befehl eingeben will, empfielt siche eine kleine Schleife nach folgender Art

while [ "`pidof dd`" ]; do kill -USR1 `pidof dd`; sleep 30; done

Jetzt wird, solange dd ausgeführt wird, alle 20 Sekunden ein kill geschickt

Methode 2

Falls pv installiert ist, kann man folgendermaßen eine Fortschrittsanzeige einblenden lassen.

dd if=/dev/sda | pv -pert | dd of=/home/backup.img