next up previous contents index
Next: Der Druckerdämon lpd Up: Datensicherung Previous: Methoden der Datensicherung

Backup Software

 

Auf Magnetbändern können keine Dateisysteme eingerichtet werden, sie enthalten keine Verzeichnisse und können nicht in den Dateisystembaum eingebunden werden. Es ist zwar möglich, mehrere Dateien auf ein Band zu schreiben, die Dateinamen, Eigentümer, Zugriffsrechte und alle Zeitmarken gehen aber verloren, weil diese Daten nicht Teil der Datei selbst sind, sondern in der Inode der Datei gespeichert werden.

Deshalb werden zur Sicherung der Daten auf Band spezielle Programme verwendet, die eine Vielzahl von Dateien zu einem einzigen Datenstrom, also einer einzigen Datei, zusammenfassen und mit allen dazugehörenenden Systemdaten verwalten können.

Die am häufigsten zu diesem Zweck herangezogenen Programme sind tar, afio und cpio. Die Programme dump und restore, die bei BSD-Unix zur Datensicherung verwendet werden, sind unter Linux noch nicht erhältlich. In besonderen Fällen kommt noch das dd-Kommando als Sicherungssoftware in Frage.

Datensicherung mit tar

   

Eine der Grundaufgaben von Backupsoftware, nämlich die Zusammenfassung mehrerer Dateien zu einer einzigen, sowie alle zum Management dieses Datenpaketes gehörenden Aufgaben werden nicht nur zur Datensicherung auf Magnetbändern benötigt. Die gleiche Funktionalität wird auch zur Verwaltung der C-Funktionsbibliotheken gebraucht. Diese Bibliotheken, auch als Archive bezeichnet, werden von dem zum Entwicklungssystem gehörenden ar-Kommando erzeugt und verwaltet.

Speziell auf die Verwendung mit Bandarchiven weiterentwickelt gibt es auf praktisch allen Unix-Systemen den Tape-Archiver tar. Dank des sehr flexiblen Dateikonzeptes von Linux kann tar auch Archive im Dateisystem als neue Dateien erzeugen und sie verwalten. In dieser Form wird fast alle Freie Software im Internet verteilt. Die Softwarepakete aller Linux-Distributionen sind mit tar archiviert.

Eine komplette Kommandobeschreibung zu tar finden Sie auf den Seiten gifff.

Mit den Magnetbandgeräten, die unter Linux Verwendung finden, können nicht alle Funktionen von tar uneingeschränkt genutzt werden. Insbesondere kann ein Bandarchiv nicht erweitert werden. Das bedeutet, daß die Optionen -A, -r und -u nicht funktionieren. Außerdem ist das Löschen oder Ersetzen einzelner Dateien in einem Bandarchiv mit -delete nicht möglich. Trotzdem ist das GNU- tar ausgezeichnet zur Sicherung/Archivierung großer Datenmengen auf Magnetbänder geeignet.

Sie erzeugen ein neues tar-Archiv mit der Option -c. Um beispielsweise ein vollständiges Backup auf das SCSI-Bandlaufwerk zu schreiben, geben Sie die folgende Kommandozeile ein:

# tar -c -M -b 126 -V "Level 0" -f /dev/rmt0 -g /var/adm/Backup/Dir /
tar: Removing leading / from absolute path names in the archive.
tar: Removing leading / from absolute links
Prepare volume #2 for /dev/rmt0 and hit return:
# _
Wie Sie sehen, macht tar automatisch aus allen absoluten Pfadnamen relative. Das geschieht, damit Sie das Archiv relativ zu jedem beliebigen Verzeichnis auspacken können. Wenn Sie die absoluten Namen behalten wollen, müssen Sie den Schalter -P setzen.

Die -M Option zeigt tar an, daß Sie ein Archiv auf mehreren Bändern anlegen wollen, weil Ihre Daten nicht auf ein einziges Band passen. Wenn Ihre Daten nicht mehr als zwei Bänder füllen, können Sie durch die -z Option die Daten durch den gzip-Kompressor filtern.gif Wenn nicht ein großer Teil der Daten bereits komprimiert im Dateisystem vorliegt, erreichen Sie eine Verdichtung der Daten mindestens um den Faktor 2. Es ist allerdings nicht möglich, komprimierte tar Archive auf mehrere Bänder zu verteilen.

In dem Beispiel oben wurde die Blockgröße mit der Option -b 126 gegenüber dem Standardwert von 20 deutlich erhöht. Das Optionsargument 126 bedeutet, daß tar die Daten in Portionen zu 126x512 Bytes, also 64 Kilobyte, auf das Band schreibt.gif Die Vergrößerung des Wertes sorgt für einen flüssigeren Datenstrom und damit zu einer Beschleunigung des Sicherungslaufes. Sie müssen bei jeder Veränderung der Blockgröße aber darauf achten, daß Sie beim Lesen den gleichen Wert einstellen.

Mit der Option -V wird dem Archiv ein Name gegeben. Damit können Sie die Sicherungsbänder identifizieren, auch wenn Ihnen die externe Beschriftung verloren gehen sollte.

Nach der -f Option ist in dem Beispiel die Gerätedatei für den ersten SCSI-Streamer angegeben worden. Das Gerät wird im ''Rewind On Close'' Modus betrieben, das Band also nach Beendigung des Kommandos automatisch zurückgespult. Wenn Sie kein Gerät angeben, versucht tar auf das bei der Übersetzung des Programms voreingestellte Gerät zuzugreifen. Wenn Sie ein anderes Gerät für mehrere Aufrufe von tar oder mt voreinstellen möchten, können Sie das über die Umgebungsvariable TAPE machen.

Mit der -g Option wird eine Datei bestimmt, die gleichzeitig Zeitmarke des Backups und Inhaltsverzeichnis des Archives ist. Hier werden nur die Verzeichnisse, nicht die einzelnen Dateien eingetragen.  

Mit Hilfe dieser Datei ist es besonders einfach, inkrementelle Backups zu machen. Wenn Sie beispielsweise an einem anderen Tag alle Veränderungen relativ zu dem vollständigen Backup sichern wollen, können Sie folgendes Kommando eingeben:

# export TAPE=/dev/fd0
# tar -c -z -V "Backup Level 1 vom 28.08.94" -g /var/adm/Backup/Dir /
tar: Removing leading / from absolute path names in the archive.
# _
Jetzt werden automatisch alle Dateien gespeichert, deren Änderungszeit neuer als das letzte Backup ist. Hierbei werden Dateien, die mit mv umbenannt oder verschoben worden sind ebensowenig gesichert wie zusätzlich installierte, ältere Pakete, deren Erzeugungszeit beim Auspacken normalerweise nicht verändert wird.

Je nachdem wie das Linux-System genutzt wird, reicht für ein inkrementelles Backup auch eine Diskette als Speichermedium aus. In diesem Beispiel werden die Daten komprimiert, so daß mehr als drei Megabyte Textdaten auf einer rohen Diskette gespeichert werden können. Weil ein fehlerhafter Block auf der Diskette das gesamte Archiv ab diesem Block unbrauchbar macht, sollten Sie besonders zur komprimierten Datensicherung nur geprüfte Markendisketten verwenden.  

Wenn bei den einzelnen Sicherungsschritten mehr Daten anfallen, als auf einer Diskette Platz finden, werden Sie wahrscheinlich auch für die inkrementellen Backups Magnetbänder verwenden wollen. Um die Kapazität der Bänder auszunutzen, können Sie mehrere separate Archive hintereinander auf einem Band speichern. Zum Positionieren des Bandes müssen Sie das separate Kommando mt benutzen.   

# export TAPE=/dev/nftape
# mt eom
# tar -c -V "Backup Level 1 vom 30.08.94" -g /var/adm/Backup/Dir /
tar: Removing leading / from absolute path names in the archive.
# mt rewind
Mit dem ersten mt-Kommando wird das Band bis an das Ende der zuletzt geschriebenen Daten vorgespult. Dabei ist es gleichgültig, wieviele Dateien/Archive bereits auf das Band geschrieben worden sind.

Weil das Bandgerät im ''No Rewind On Close'' Modus betrieben wird (der Modus wurde durch die Gerätedatei gewählt), schreibt das tar-Kommando seine Daten von dieser Stelle an. Um das Magnetband zu schonen, ist es sinnvoll, das Band vor dem Entfernen des Cartridges aus dem Laufwerk zurückzuspulen.

Wenn Sie mehrere Archive auf einem Band gespeichert haben, kommen Sie an ein bestimmtes Archiv nur mit dem mt-Kommando heran. Magnetbänder haben kein Inhaltsverzeichnis, deshalb müssen Sie sich selbst merken, wieviele Archive auf dem Band gespeichert sind. Um beispielsweise das vierte Archiv auf dem Band zu erreichen, müssen Sie drei Archive überspringen:

# export TAPE=/dev/nftape
# mt fsf 3
# cd /
# tar -x
# mt rewind
# _

Mit der -x-Option veranlassen Sie tar, alle Dateien aus dem Archiv zu extrahieren. Durch dieses Kommando restaurieren Sie den Zustand des Dateisystems zum Zeitpunkt der Sicherung. Um ein vollständig zerstörtes System zurückzusichern, müssen Sie alle Backups in der Reihenfolge ihres Entstehens auf die leere Festplatte einspielen.

Das tar-Programm bietet noch eine Vielzahl weiterer Varianten der Datensicherung, die Sie beispielsweise im TeX -Info Dokument zu tar nachlesen können.  

Datensicherung mit afio und cpio

  

Das cpio-Kommando und die modernere Variante afio bilden die Grundlage für ein sehr flexibles Backupsystem. Die Flexibilität wird erreicht, indem sich die beiden Kommandos auf einen Teilaspekt der Sicherungsarbeit konzentrieren: sie erzeugen und verwalten ein Archiv, einen Datenstrom aus bestimmten Dateien. Die Namen der zu archivierenden Dateien müssen den Kommandos im Standardeingabekanal, beispielsweise als Ausgabe von find, übergeben werden. Damit sind cpio und afio zur Verwendung in Shellscripten prädestiniert.

Während tar bei den inkrementellen Sicherungen einfache und feste Kriterien zur Unterscheidung alter und neuer Dateien anlegt, kann durch das Zusammenspiel mehrerer auf bestimmte Teilaufgaben spezialisierter Werkzeuge eine sehr genaue Liste der veränderten Dateien erzeugt werden.

afio bietet zusätzlich die Möglichkeit, während der Archivierung die einzelnen Dateien zu komprimieren, ohne das gesamte Archiv durch den Kompressor zu leiten. Das hat den Vorteil, daß bei kleineren Fehlern im Archiv nur einzelne Dateien betroffen sind. Außerdem können so komprimierte Archive auf mehrere Bänder verteilt werden.

Wenn Sie die Vorteile von afio oder cpio nutzen wollen, brauchen Sie sich das dazu notwendige Script nicht selbst zu schreiben. Besonders empfehlenswert ist das backup-1.03 Paket für afio von Karel Kubat, das auf verschiedenen FTP-Sites zu finden ist.    



next up previous contents index
Next: Der Druckerdämon lpd Up: Datensicherung Previous: Methoden der Datensicherung



Linux Anwenderhandbuch -- Copyright 1993, 1994, 1995 S. Hetze, D. Hohndel, O. Kirch, M. Müller