Backups sind ein leidiges Thema… Niemand macht sie gerne, aber sie sind durchaus nützlich wenn man sich wieder einmal eine Datei versenkt hat.
Nur — wie backuppe ich am Besten? — Nun, für diese Frage gibt es kein Patentrezept, da es immer auf das System ankommt.
Ein einfaches Vollbackup einer Maschine auf ein anderes System erreicht man sehr einfach mit kommerziellen Tools oder Netcat. Ja, richtig gelesen… netcat. Wichtig dabei ist, dass man exklusiven Zugriff auf die Festplatten bekommt. Dies geht am Einfachsten durch das Booten von einer Live‐CD.
Netcat ist nicht nur ein Telnet‐Programm sondern eine Art Schweizer Taschenmesser im Bezug auf Netzwerkaktivitäten, wie wir an folgendem Beispiel sehen können:
nc ‑l ‑p 666 > image.gz
In diesem Beispiel lassen wir Netcat auf unserem entfernten System laufen, wo die Backups abgelegt werden sollen. Netcat öffnet einen Port (666). Den Output leiten wir in eine Datei.
Auf dem zu backuppenden System lesen wir die Platte mit Hilfe des Befehls dd aus, gzippen und schicken die Daten als Stream an den anderen Netcat.
dd if=/dev/hda | gzip | nc ‑w 5 remote_ip 666
remote_ip ist dabei die IP Adresse des Servers auf welchem das Backup liegen soll.
Doch was nützt die beste Backup‐Methode wenn die Rücksicherung fehlt? Sehen wir uns einmal das Szenario an: Wir beginnen mit einem Server, welcher diesmal die eben gebackuppte Maschine ist:
nc ‑l ‑p 666 | gunzip ‑c | dd of=/dev/hda
Dann streamen wir das Image über das Netzwerk zum neuen Server wo wir es mit dd auf die Platte zurückschreiben.
cat image.gz | nc ‑w 5 remote_ip 666
Auf diese Weise kann man schnell und schmerzlos Backups von Partitionen und Festplatten erstellen. Voraussetzung dafür sind jedoch idente Grössen von Quell‐ und Ziellaufwerk.