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

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.<br /> 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