Backups auf wiederbeschreibbaren CDs mit CdBk

Aus LinuxUser 03/2004

Backups auf wiederbeschreibbaren CDs mit CdBk

Auf Nummer sicher

Bei der Größe heutiger Festplatten ist ein Komplett-Backup sehr aufwändig. Um ein System nach einem Crash wieder herzustellen, reicht es jedoch, nur die Dateien zu sichern, die man nach der Installation selbst erstellt oder verändert hat. Als Medium bieten sich dafür wiederbeschreibbare CDs an: CD-Brenner gehören mittlerweile zur Standardausstattung und die Medien sind preisgünstig.

Wer mit wenigen Handgriffen seine Daten sichern möchte, muss kein professioneller Administrator sein. In Gestalt von CdBk bekommt man ein umfangreiches, einfach zu bedienendes Shell-Skript für diesen Zweck. Es bietet eine Fülle von Optionen und da es textbasiert ist, läuft es auf praktisch jedem Linux-System problemlos.

CdBk richtet sich vor allem an Anwender, die keine Datenträgerberge anhäufen möchten, stattdessen überschreibt es bei jedem Backup die zuvor verwendeten wiederbeschreibbaren CDs (CD-RW).

Die Funktionsweise

CdBk funktioniert nicht nur mit CD-RWs, seine Vorgehensweise legt deren Einsatz aber nahe: Wie andere Backup-Systeme legt CdBk zunächst ein Master-Backup an, das alle zu sichernden Dateien speichert. Der Unterschied zum üblichen Verfahren ergibt sich erst beim sogenannten inkrementellen Backup, das bei den späteren Durchläufen nur nach geänderten und neuen Dateien sucht.

Der übliche Weg ist es, nur die hinzugekommenen Daten auf eine neue CD zu brennen und das Master-Backup nicht anzurühren. CdBk dagegen löscht die Sicherungs-CD-RW komplett und beschreibt sie neu. Das hat den Nachteil, dass ein Backup die Dateien auch von der Sicherungs-CD löscht, wenn sie nicht mehr auf der Festplatte vorhanden sind; der Lohn für dieses Risiko ist der geringe Bedarf an Datenträgern.

Einen weiteren Vorteil gegenüber anderen Backup-Verfahren bietet CdBK: Es ermöglicht das Wiederherstellen von einzelnen Dateien, ohne das komplette Backup einspielen zu müssen. Da CdBk die Dateien einzeln komprimiert und im ISO-9660-Format sichert, lassen sie sich auch dann manuell auslesen, wenn alle CdBk-Daten verloren gehen.

Beim ersten Aufruf brennt CdBk zunächst alle Dateien, die auf eine CD passen. Reicht eine CD nicht für das gesamte Master-Backup, so schickt CdBk eine entsprechende Nachricht per E-Mail und fährt beim nächsten Aufruf mit dem Master-Backup fort, bis alles gesichert ist. Ruft man CdBk danach nochmals auf, startet es ein inkrementelles Backup.

Aufräumen

Der Zeitpunkt vor dem ersten Backup ist eine gute Gelegenheit, die Festplatte – vor allem das Home-Verzeichnis – aufzuräumen; um auf der CD keinen Platz zu verschwenden, löschen Sie Dateileichen vorher.

Daten, die Sie zwar im Moment nicht löschen wollen, aber deren Wert Ihnen nicht hoch genug ist, um sie in das Backup aufzunehmen, speichern Sie in Verzeichnissen mit eindeutigen Namen; lassen Sie sie beispielsweise mit 0 beginnen: ~/0Bilder oder ~/0Briefe für Bilder und Briefe, die Sie nicht auf dem Backup benötigen. Eine solche Namensgebung macht die spätere Ausgrenzung vom Sicherungsprozess einfach.

Installation und Konfiguration

Weil den Backup-Prozess nur root durchführen darf, ist es sinnvoll, direkt ins Verzeichnis /root/ mit tar -xzf cdbk-065-2.tar.gz zu entpacken. Die CdBk-Version 0.6.5-2 von der Heft-CD enthält gegenüber der offiziellen Ausgabe 0.6.5 von [1] einen Patch, der es ermöglicht, CdBk auch mit dem Kernel 2.6 zu benutzen; da die neusten Kernel-Versionen auf manchen Systemen Probleme mit der IDE-SCSI-Emulation haben, ist dort der bei Kernel 2.4 übliche Weg zum Brenner versperrt.

Die Version 0.6.5-2 umgeht auf Wunsch die SCSI-Emulation und brennt so auch mit neuem Kernel. Ferner verwendet sie die Burnfree-Option, mit der viele Brenner den unterbrechungsfreien Brennvorgang sicherstellen.

Da es sich bei CdBk um ein Shell-Skript handelt, ist kein Kompilieren nötig. Sie benötigen lediglich die Pakete cdrecord und mkisofs, die jede moderne Distribution enthält.

In der Datei cdbk.conf nehmen Sie mit einem Texteditor die Basiskonfiguration vor. Hier finden Sie die oben erwähnte Möglichkeit, direkt auf die ATAPI-Schnittstelle zuzugreifen: Ändern Sie dazu den ersten Eintrag auf ATAPI=1. Unter CDRWDEV tragen Sie den Gerätenamen Ihres Brenners ein, falls er von /dev/cdrom abweicht. Den dazugehörigen Mountpoint definieren Sie unter CDRWMNT, der Standard ist hier /mnt/cdrom.

Ist Ihr CD-Brenner nicht das erste (emulierte) SCSI-Gerät am ersten SCSI-Bus, benötigen Sie unter CDSCSI seine SCSI-Adresse, die Ihnen der Befehl cdrecord -scanbus liefert – beispielsweise 1,0,0 für das erste Gerät am zweiten SCSI-Bus. Haben Sie ATAPI=1 gesetzt, tragen Sie hier denselben Gerätenamen ein wie bei CDRWDEV.

Den Eintrag BURN_CD setzen Sie auf 0, wenn CdBk nichts auf CD brennen soll. So finden Sie bei einem Probedurchlauf heraus, ob alle Einstellungen Ihren Wünschen entsprechen, bevor Sie eine CD anrühren.

Das Perl-Skript loop_safe_cp soll anhand der Option LOOP_CP_SPEED Probleme verhindern, indem es die Geschwindigkeit drosselt, in der CdBk die Daten übergibt. Leider funktioniert die nur mäßig; gelegentlich qualifiziert es sämtliche zu sichernde Dateien als zu groß für den Datenträger. In diesem Fall stellen Sie LOOP_CP_SPEED auf 0. In den Dateien cdbk.include und cdbk.exclude legen Sie schließlich fest, welche Dateien Sie sichern möchten. Verzeichnisnamen, die Sie in cdbk.include eintragen, kopiert CdBk inklusive Unterverzeichnissen; die Voreinstellung berücksichtigt /etc/, /home/ und /root/.

Die Datei cdbk.exclude ist dafür zuständig, Dateien oder Unterverzeichnisse in den oben eingetragenen Sicherungsobjekten vom Backup auszuschließen. Verwenden Sie hier reguläre Ausdrücke, um den Backup-Umfang einzugrenzen.

So schließt hier beispielsweise die Zeile /cache/ alle Verzeichnisse aus, die diesen Namen tragen, egal in welchem Überverzeichnis sie liegen; damit grenzen Sie die vom Web-Browser Konqueror auf der eigenen Platte gespeicherten Web-Inhalte vom Backup aus, sie liegen im Home-Verzeichnis unter .kde/share/cache/.Haben Sie die nicht zu sichernden Verzeichnisse nach unserem Vorschlag so umbenannt, dass sie mit 0 beginnen, schließen Sie sie mit dem Eintrag /home/user/0.* aus.

Bedienung

Bevor Sie mit den getroffenen Einstellungen brennen, überprüfen Sie zumindest vor dem ersten Start, ob Sie nicht versehentlich zu viele Verzeichnisse ausgeschlossen haben! Hier kommt die oben angesprochene Option BURN_CD=0 in der Konfigurationsdatei cdbk.conf zum Zug; starten Sie dann einen Testlauf mit ./cdbk -m und prüfen Sie mit bzcat /root/cdbk-065-2/cdset/contents.1.bz2 | less die Liste der gesicherten Dateien.

Ist alles in Ordnung, ändern Sie BURN_CD wieder in 1 und geben Sie erneut ./cdbk -m ein.

Der Parameter -m steht für Master-Backup, und sichert alle gewählten Dateien. Bei späteren inkrementellen Backups genügt ./cdbk; das Skript sichert dann nur noch neue und veränderte Dateien.

Abbildung 1: Schlicht und ergreifend: CdBk läuft auf praktisch jedem Linux-System

Abbildung 1: Schlicht und ergreifend: CdBk läuft auf praktisch jedem Linux-System

Zum Wiederherstellen von gesicherten Dateien dient der Befehl ./cdrest im CdBk-Verzeichnis. Als Parameter benötigen Sie hierbei den Mountpoint des CD-Laufwerks und den Dateinamen: ./cdrest /mnt/cdrom Schwiegermutter.svw im Verzeichnis cdbk-065-2 stellt die Datei Schwiegermutter.svw wieder her.

Das Kommando ./cdlist 0 /mnt/cdrom/ im selben Verzeichnis gibt eine Liste aller gesicherten Dateien aus; ersetzen Sie die 0 durch eine andere Zahl, sehen Sie nur die Dateien eines bestimmten Datenträgers aus dem Backup-Set.

Nicht nur für Profis

CdBk ist auch für Anwender, die nur wenig Erfahrung mit der Shell haben, leicht zu steuern. Die Dokumentation [2] bietet auf Englisch tiefergehende, detaillierte Hilfe zum Programm. CdBk ist für alle geeignet, die Backups bisher wegen dem Aufwand gemieden haben, aber trotzdem gerne ihre Daten regelmäßig sichern möchten.

Glossar

Shell-Skript

Ein Skript ist ein Programm, das ein Interpreter erste beim Aufruf in maschinenlesbare Form verwandelt. Bei einem Shell-Skript übernimmt diese Aufgabe eine Shell wie die Bash.

ISO-9660

Dieser Standard definiert das Dateisystem auf Daten-CDs; dadurch ist es möglich, dass alle Betriebssysteme CD-ROMs gleichermaßen lesen können. Zwar sind hier nur Dateinamen ohne Sonderzeichen mit acht Zeichen Länge, einem Punkt und dahinter drei weiteren Zeichen Erweiterung erlaubt, aber die Joliet-Erweiterung dieses Standards ermöglicht auch lange Dateinamen.

IDE-SCSI-Emulation

Da das Standardbrennprogramm cdrecord lange Zeit nur SCSI-Geräte unterstützte, täuscht man der Brenner-Software vor, der ATAPI-Brenner am IDE-Bus sei ein SCSI-Gerät.

ATAPI

Das “Advanced Technology Attachments Packets Interface” ermöglicht den Anschluss von CD-ROM-Laufwerken am IDE-Bus, der auch Festplatten steuert.

Mountpoint

Das Verzeichnis, unter dem ein Gerät, beispielsweise eine Festplattenpartition oder eine CD, im Verzeichnisbaum integriert ist.

reguläre Ausdrücke

Eine Methode, um ausgefeilte Suchmuster für Texte zu beschreiben. Das Handbuch zu CdBk [2] enthält viele Beispiele; eine vollständige Beschreibung finden Sie in der Manpage zu grep.

Infos

[1] CdBK: http://cdbk.sourceforge.net

[2] CdBk-Handbuch: http://cdbk.sourceforge.net/cdbk-manual.html

[3] Backup-Grundlagen: Albert Flügel und Oliver Kluge, “Sicher ist sicher”, LinuxUser 07/2001, S. 20 ff., http://www.linux-user.de/ausgabe/2001/07/020-backup/backup.html

LinuxUser 03/2004 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben