13. Datensicherung

Inhalt:

13.1 Medien

13.2 Arten der Sicherung

  1. Einzelne Dateien: cp, mtools
  2. Viele einzelne Dateien/Verzeichnisse: tar, cpio, pax, ...
  3. Ganze Dateisysteme: dump/restore, ufsdump/ufsrestore
  4. Ganze Platten (Image-Backup): dd, g4u

13.3 Werkzeuge zur Dateisicherung unter Unix

  1. cp: Sichert einzelne Dateien, probleme bei SymLinks. Braucht Dateisystem als Ziel, Bänder scheiden dadurch aus.

    Backup: cp datei /backup
    Inhalt: ls -la /backup
    Restore: cp /backup/pfad/datei .../datei

  2. mtools: Sichert einzelne Dateien auf Datenträger im MS-DOS/Windows FAT Dateisystem-Format, üblicherweise Disketten oder ZIPs.

    Backup: mcopy datei z:
    Inhalt: mdir z:
    Restore: mcopy z:datei .

  3. rsync: Gleicht Datenbestände ab, lokal oder auf entfernten Rechnern. Veränderte Dateien werden inkrementell übertragen. Eignet sich für schnelle Backups, wenn genügen Plattenkapazität zur Verfügung steht.

    Backup: rsync -va /daten /backup
    Inhalt: ls -lRa /backup
    Restore: rsync -va /backup /daten

  4. tar: Tape Archive, schreibt mehrere Dateien hintereinander in eine Datei (Device), zusammen mit Informationen über Zugriffsrechte etc. Gut geeignet zum sichern auf Bänder, Nachteil: kein Direktzugriff, zurücksichern einzelner Dateien nur mit Hilfe eines Inhaltsverzeichnisses des Band-Archivs. Vorteil: Portabel zwischen allen Unix-Systemen.

    Backup: tar vcf /dev/band /verzeichnis (Create)
    Inhalt: tar vtf /dev/band (Table of contents)
    Restore: tar vxf /dev/band (eXtract)

    Kann auch zum Kopieren ganzer Verzeichnisbäume verwendet werden: cd /quelle ; tar cf - . | ( cd /ziel ; tar vxf - )

  5. cpio: Bandformat ähnlich wie tar, Zusammenstellung der zu sichernden Dateien über Liste zu sichernder Dateien via stdin, normalerweise mit Hilfe eines find-Aufrufs erstellt. Dadurch Flexibilität was gesichert werden soll.

    Backup: find /verzeichnis | cpio -o > /dev/band
    Inhalt: cpio -t -iv /dev/band
    Restore: cpio -iv /dev/band

  6. bru: Backup and Restore Utility, Funktion wie tar, nicht sonderlich weit verbreitet.

    Backup: ?
    Inhalt: ?
    Restore: ?

  7. pax: Schreibt und liest unterschiedliche Archiv-Formate, große Anzahl an Optionen für Auswahl der zu sichernden Dateien etc. Achtung, Fehler in Solaris beim Sichern von SymLinks!

    Backup: pax -w -f /dev/band /verzeichnis
    Inhalt: pax -f /dev/band
    Restore: pax -r -f /dev/band

    Kann auch zum Kopieren ganzer Verzeichnisbäume verwendet werden: cd /quelle ; pax -rw -pe -v . /ziel

  8. dump/restore: Unter Solaris als ufsdump/ufsrestore werden hier nicht einzelne Dateien/Verzeichnisse ausgelesen, sondern das gesamte Dateisystem. Durch das blockweise Auslesen wird ein Geschwindigkeitsvorteil erzielt, ebenso beim Zuruecksichern. Zusätzlich wird vor den eigentlichen Daten noch ein Inhaltsverzeichnis geschrieben, aus dem beim interaktiven Restore einzelne Dateien selektiert werden können, die restauriert werden sollen. Das manuelle Erstellen des Inhaltsverzeichnisses wie bei tar ist also hinfällig. Nachteil: dadurch dass auf die grundlegenden Strukturen des Dateisystems zugegriffen wird sollte sich dieses möglichst in einem konsistenten, stabilen Zustand befinden. Am sichersten ist hier der Single-User-Mode.

    dump/restore unterstützen auch das Behandeln von inkrementellen Backups. Dazu wird in der Datei /etc/dumpdates das Datum der letzten Sicherung gespeichert und benutzt. Vor dem ersten inkrementellen dump muss diese Datei mit "touch /etc/dumpdates" angelegt werden.

    Backup: dump -0f /dev/band /dev/platte
    Inhalt: restore -vt -f /dev/band
    Restore:

    1. restore -rf /dev/band (vollständig)
    2. restore -if /dev/band (interaktiv)

13.4 Datenkomprimierung unter Unix

  1. pack: Huffman-Codierung, eignet sich eigentlich nur für Text-Dokumente. Nur noch auf wenigen, sehr alten Unix-Systemen anzutreffen.

    Datei-Suffix: .z
    Komprimieren: pack datei
    Entpacken: unpack datei.z

  2. compress: Datenreduktion durch Lempel-Ziv Kodierung, eignet sich für alle Arten von Daten, nicht nur für Text.

    Datei-Suffix: .Z
    Komprimieren: compress datei
    Entpacken: uncompress datei.Z

  3. gzip: Neuimplementierung des Lempel-Ziv Algorithmus, komprimiert üblicherweise besser als compress(1).

    Datei-Suffix: .gz
    Komprimieren: gzip datei
    Entpacken: gunzip datei.gz

  4. bzip2: Inkompatibler Nachfolger von bzip, implementiert den Burrows-Wheeler blocksortierenden text-Kompressions-Algorithmus, und Huffman Kodierung. Kompression ist üblicherweise besser als bei compress/gzip. Allerdings auch wesentlich langsamer.

    Datei-Suffix: .bz2
    Komprimieren: bzip2 datei
    Entpacken: bunzip2 datei.bz2

Es existieren auch viele aus der DOS/Windows-Welt bekannten Archiver, die meist Dateien gleichzeitig Archivieren und Komprimieren: zip/unzip, arc/unarc, lha, arj/unarj, zoo, ... Manche dieser Archiver sind Teil einiger Unix-Portierungen, i.A. sind sie jedoch nachzuinstallieren.

13.5 Backup-Systeme

Amanda, Bakula, Legato Networker, ...

Literatur

(Übung)
(c) Copyright 1998-2006 Hubert Feyrer <hubert@feyrer.de>
$Id: 13-backup.html,v 1.11 2007/07/04 14:56:58 feyrer Exp $