Kommandozeilenzugriff auf Streamer

Aus LinuxUser 07/2001

Kommandozeilenzugriff auf Streamer

Tar und mt

Standard-Zubehör für die Datensicherung ist der Streamer, ein Gerät, das Magnetbänder für die Speicherung der Daten verwendet. In diesem Artikel erklären wir die Ansteuerung mit den Kommandozeilen-Tools tar und mt.

Das wichtigste Programm für den Zugriff auf Streamer ist ein Kommando, das Sie sonst eher zum Entpacken von Archiven verwendet: tar. Denn tar ist nicht nur für das Erstellen der tar-Archive verantwortlich, sondern war ursprünglich genau für den Zweck der Datensicherung auf Magnetbändern entwickelt worden; so steht der Befehlsname für “tape archiver”.

Hardware einrichten

Um Daten auf den Streamer schreiben zu können, muss dieser zunächst als Gerät erkannt werden. Die größte Verbreitung haben SCSI-Streamer, also solche, die an einen SCSI-Controller angeschlossen werden. Ein solcher Streamer ist unter Linux über die Gerätedatei /dev/nst0 ansprechbar; die meisten Programme, die mit einem Streamer kommunizieren wollen, erwarten allerdings eine Gerätedatei /dev/tape. Diese gilt es einzurichten, falls dies nicht automatisch geschehen ist. Prüfen Sie daher zunächst mit

# ls -l /dev/tape

ob bereits ein symbolischer Link namens /dev/tape existiert und ob er korrekt auf /dev/nst0 verweist, es sollte die folgende Ausgabe erscheinen:

lrwxrwxrwx  1  root  root  9 Jun 24 2000 /dev/tape -> /dev/nst0

Ist dies nicht der Fall, legen Sie den Link als Systemadministrator root mit dem folgenden Befehl an:

# ln -s /dev/nst0 /dev/tape

“nst0” steht übrigens für “non-rewinding streamer 0”, also den ersten Streamer. Es gibt noch eine weitere Gerätedatei, mit der der gleiche Streamer angesprochen wird: Sie heißt /dev/st0. Der Unterschied zwischen den beiden Varianten, die sich durch die Minor-Device-IDs 0 und 128 unterscheiden, wie die folgende Ausgabe zeigt, ist schnell erklärt.

# ll /dev/st0 /dev/nst0
 crw-rw—-  1 root  disk  9, 128 Apr 14 07:06 /dev/nst0
 crw-rw—-  1 root  disk  9,   0 Apr 14 07:06 /dev/st0

Rückspulend

Wird der Streamer über die Datei st0 (also “rückspulend”) angesprochen, so wird das Band nach jeder einzelnen Operation, etwa das Schreiben eines Datensatzes auf das Band, an den Anfang zurückgespult. Beim nicht-rückspulenden Aufruf über die Gerätedatei nst0 geschieht dies nicht. Somit eignet sich die von uns verwendete Datei nst0 etwa zum Schreiben mehrerer Datensätze hintereinander.

Sichern und prüfen

Um nun etwa das Home-Verzeichnis auf ein frisch eingelegtes Streamer-Band zu schreiben, verwenden Sie den folgenden Befehl:

# tar cvf /dev/tape /home

Der Aufruf erinnert stark an die Erzeugung eines tar-Archivs, bei der anstelle von /dev/tape der Name eines tar-Archivs angegeben würde, etwa /tmp/backup.tar. Da der Dateiname /dev/tape aber bereits existiert und auf eine Gerätedatei verweist, schreibt tar bei diesem Aufruf direkt auf das Magnetband.

Um nun das Band zurück zu spulen, wird das zweite Tool verwendet, das zu den Streamer-Hilfsprogrammen gehört: mt (“magnetic tape drive operation”). Ein einfaches

# mt rewind

führt diese Ausgabe durch. Im nächsten Schritt wollen wir die Datensicherung überprüfen; wir vergleichen also die Daten im Archiv mit den Ursprungsdaten. Dazu wird die tar-Option “d” (find differences) verwendet. Um hier auch eine Ausgabe zu erhalten, verändern wir eine Datei des Originals mit touch; außerdem muss der Aufruf des Kommandos im Root-Verzeichnis / erfolgen, da tar keine absoluten Pfade speichert.

Abbildung 1: Die man page zu mt erklärt die Möglichkeiten der Band-Manipulation

Abbildung 1: Die man page zu mt erklärt die Möglichkeiten der Band-Manipulation

# cd /
 # touch /home/esser/Mail/Inbox
 # tar df /dev/tape
 home/esser/Mail/Inbox: Änderungszeit ist unterschiedlich

In diesem Fall hat also die Datensicherung offensichtlich funktioniert, und die Veränderung der Datei wurde zuverlässig erkannt.

Restore

Im Fall der Fälle, für den Backups ja angelegt werden, nämlich bei Datenverlust, können die Daten ebenso einfach wieder vom Band zurück gespielt werden; wie beim Auspacken eines gewöhnlichen tar-Archivs wird dazu die Option “x” (extract) verwendet:

# cd /
 # tar xvf /dev/tape

Wenn Sie das Rücksichern nur testen wollen, ohne Daten auf der Platte mit dem Backup zu überschreiben, wechseln Sie nicht ins Hauptverzeichnis sondern z. B. nach /tmp; in dem Fall würde die Rücksicherung dann ein Verzeichnis /home/tmp anlegen. Das ist z. B. dann sinnvoll, wenn Sie nur einige, versehentlich gelöschte Dateien rücksichern wollen aber die genauen Dateinamen nicht kennen. Ansonsten lässt sich eine einzelne Datei durch Angabe des vollen Pfadnamens rücksichern:

# tar xvf /dev/tape /home/esser/Mail/Trash

würde etwa einen voreilig gelöschten Netscape-Mail-Mülleimer zurückholen.

Frontends

Wer die manuelle Eingabe der tar– und mt-Kommandos scheut, kann auch ein Frontend verwenden. Unter KDE 1.x finden Sie das nützliche Programm kdat (im Paket kdeadmin), das bei neueren KDE-Paketen (ab Version 2.0) leider nicht richtig funktioniert; zumindest führte ein Test auf zwei separaten Rechnern mit KDE 2.0.1 und 2.1.1 zu Abstürzen von kdat; bei einigen Distributionen wird kdat daher auch nicht mitgeliefert. Die KDE-1-Version funktioniert aber zuverlässig und bietet neben der komfortableren Bedienung noch einige weitere Vorteile: So verwaltet kdat für jedes Band ein Inhaltsverzeichnis, über das Sie bequem auf unterschiedliche Sicherungen auf dem gleichen Band zugreifen können.

Abbildung 2: kdat läuft nur unter KDE 1.x stabil

Abbildung 2: kdat läuft nur unter KDE 1.x stabil

Die letzte veröffentlichte kdat-Version 1.99, die unter http://sunsite.dk/qweb/kdat/ erhältlich ist, erwartet KDE 1.0 und Qt 1.33, sollte sich aber auch auf “neueren” 1.x-Versionen von KDE zum Laufen bringen lassen. Die kdat-Version, die Teil des kdeadmin-Pakets von KDE 1.1.2 ist, trägt übrigens die Versionsnummer 2.0.

Automatisches Backup

Wenn Sie Ihren Rechner über Nacht durchlaufen lassen, bietet es sich an, die Backups zu automatisieren – in diesem Fall bräuchten Sie nur jeden Abend ein neues Band in das Laufwerk legen, und ein passender tar-Aufruf würde die Datensicherung über Nacht durchführen, ohne Sie durch Streamer-Geräusche bei der Arbeit zu stören. Dazu ist es sinnvoll, zunächst ein kleines Shell-Skript zu schreiben, das das Backup durchführt; dieses Skript wird dann später in die crontab, die Konfigurationsdatei des Systemdienstes cron aufgenommen.

#!/bin/bash
 logger Backup gestartet
 mt rewind
 tar cf /dev/tape /home
 logger Backup beendet

In diesem Skript wird der tar-Befehl ohne die “verbose”-Option “v” aufgerufen, um keine Daten in die Standardausgabe zu schreiben; eine Ausgabe würde nämlich bei der späteren Ausführung als cron-Job dazu führen, dass crond eine Warn-Mail verschickt. Vor dem Eintragen dieses Skriptes, das Sie z. B. als /usr/local/sbin/backup speichern können, sollten Sie es einmal ausführen. Arbeitet es wie gewünscht, tragen Sie es in die System-crontab ein. Öffnen Sie als Administrator root die Datei /etc/crontab in einem Editor und ergänzen Sie die folgende Zeile:

0 5 * * * root /usr/local/sbin/backup

Dieser Eintrag legt fest, dass das Backup-Skript täglich um 5:00 morgens aufgerufen wird. Sollten Sie zu dieser Uhrzeit schon den Rechner benutzen wollen, wählen Sie eine passendere Zeit. Die Angabe “root” bewirkt dabei, dass das Skript mit Administratorrechten ausgeführt wird.

Mehrere Archive

Das mt-Kommando besitzt neben “rewind” noch eine Vielzahl weiterer Parameter – darunter sind vor allem “tell” und “seek” interessant, mit denen sich die aktuelle Bandposition ausgeben bzw. eine bestimmte Position ansteuern lässt. Dazu abschließend ein Beispiel, das eine nützliche Anwendung zeigt:

# mt rewind
 # mt tell
 At block 0.
 # tar cf /dev/tape /home/user1
 # mt tell
 At block 122.
 # tar cf /dev/tape /home/user2
 # mt tell
 At block 218.
 # tar cf /dev/tape /home/user3
 # mt tell
 At block 401.

Um nun eines der drei Archive gezielt vom Band zu lesen, steuern Sie zunächst mit “seek” die Speicherposition an und lesen dann das Archiv mit tar, für die Daten von Benutzer user2 würde der Aufruf so aussehen:

# mt seek 122
 # tar xf /dev/tape

Die Optionen “tell” und “seek” funktionieren nur mit SCSI-Streamern, ein Hintereinanderschreiben mehrerer tar-Archive ist aber auch mit anderen Streamern möglich.

Abschließend noch zwei Web-Adressen, die Sie interessieren werden, wenn Sie keinen SCSI- sondern einen ATAPI- oder Floppy-Streamer verwenden: Unter http://www.linux.org/docs/ldp/howto/Ftape-HOWTO.html finden Sie Informationen zu ftape, dem Treiber für Floppy-Streamer; zu ATAPI-Streamern (in der Regel als /dev/ht0 bzw. /dev/nht0 (non-rewinding) anzusprechen) findet sich unter http://www.linuxtapecert.org/di30_install.html eine Anleitung.

LinuxUser 07/2001 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