Yeah!
TapeTest,  yet another backup tool
Startseite Übersicht Impressum




Für ein einfaches Sichern von Daten ist tar ein ausgezeichnetes Werkzeug. Das Programm ist auf allen Unix-Systemen verfügbar und kann die Daten auf viele Medien sichern. Leider hat tar die Nachteile, dass es beim Schreiben die Größe des Mediums nicht ideal ausnutzt, die Index-Datei erst nachträglich erzeugt und keine Fortschrittsanzeige für einzelne Dateien hat. Genau diese Mängel versucht tapetest zu beheben.

Das Programm tapetest dient vordringlich dem Sichern von großen Dateien auf einem Austauschmedium, z.B. einem Band. Beim Sichern werden so viele Dateien auf ein Medium geschrieben bis für die kleinste verbleibende Datei nicht mehr ausreichend Platz verbleibt. Außerdem werden auf dem Medium ein Header und eine Index-Datei den Daten vorangestellt, so dass später ohne Auslesen der Daten ermittelt werden kann, was auf dem Medium abgelegt wurde. Zusätzlich kann der aktuelle Fortschritt einer Operation in einen ncurses-UI angezeigt werden.


<Click to enlarge>

Die Daten werden im tar-Format auf das Medium geschrieben, so dass ein Wiederherstellen ohne das Programm tapetest möglich ist.



 Installation

Die Software ist nur für Unix-Systeme verfügbar. Getestet wurde die Software unter gentoo Linux, Ubuntu LTS 10.04 und Solaris 10. Alle anderen Distributionen und Unix-Systeme sind ungetestet und ein Funktionieren der Software kann nicht garantiert werden.

Die Installation des Programmes erfolgt mit dem klassischen Dreisatz.

./configure
make
make install

Mittels des Arguments --prefix kann dem configure-Skript das Installationsverzeichnis übergeben werden. Ist kein Verzeichnis angegeben, erfolgt die Installation in das Verzeichnis /usr/local.

Für die Erstellung und die Nutzung des Programmes sind die folgenden Bibliotheken notwendig:

  • libncurses5



 Kurzanleitung

Das Programm unterstützt aktuell das Sichern der Dateien eines Verzeichnisses ohne Unterverzeichnisse. Dabei werden, wie einleitend beschrieben, die Daten im tar-Format abgelegt. Eine Übersicht der im Folgenden beschriebenen Programmparameter kann mittels tapetest -h abgerufen werden.

Format

Vor dem Sichern der Daten muss das Zielmedium formatiert werden. Hierbei können/sollten die folgenden zusätzlichen Angaben gemacht werden:

 -l <label>Eindeutiger Bezeichner für die Session,
 -n <num>Nummerische Ergänzung des Bezeichners,
 -s <size>Anzahl der Daten in Bytes, die auf das Medium geschrieben werden sollen,
 -d <target>Verweis auf das Zielmedium,
 -vFortschrittsanzeige im ncurses-UI,
 -fÜberschreiben einer bereits vorhandenen Sicherung.

Ein sinnvoller Bezeichner kann z.B. der Name des Verzeichnisse sein, das gesichert werden soll. Eine ID würde hierbei zur Unterstützung mehrerer Zielmedien verwenden werden. Dies z.B. dann sinnvoll, wenn die nicht alle Daten auf ein Medium passen oder mehrere Versionen der Sicherung angelegt werden sollen. Wird kein Label bzw. keine ID angegeben, so wird das default-Label unknown und die ID 0 verwendet.

Wird keine Größe vorgegeben, versucht das Programm beim Sichern alle Daten auf das Medium zu schreiben. Ein Kontrolle der Größe findet dann nicht statt. Passen nicht alle Daten auf das Zielmedium, wird die Sicherung abgebrochen und als fehlerhaft markiert (siehe hierzu dump).

Achtung! Die Angabe für die Parameter können nur mit einem erneuten Format (Parameter -f) überschrieben werden, hierbei werden auch alle Daten auf dem Medium gelöscht!

Folgendes Beispiel:

tapetest -c format -d /dev/nst0 -s 1700M -l System -n 0

formatiert ein Band, dass unter dem Device-Knoten /dev/nst0 liegt, mit dem Bezeichner System, der ID 0 und der maximalen Größe 1700MiB.

Dump

Das Sichern der Daten erfolgt mit dem Kommando dump. Hierbei können die folgenden Parameter angegeben werden:

 -l <label>Bezeichner der Session,
 -s <size>Anzahl der Daten in Bytes, die auf das Medium geschrieben werden sollen,
 -d <target>Verweis auf das Zielmedium,
 -vFortschrittsanzeige im ncurses-UI,
 -fÜberschreiben einer bereits vorhandenen Sicherung.

Die Medien müssen vor ihrer Nutzng mittels des Kommandos format formatiert werden. Wurde hierbei ein Label gesetzt, so muss dieses bei der Sicherung ebenfalls angegeben werden. Die Angabe kann nur dann ausgelassen werden, wenn die Medien mit dem default-Label formatiert wurden. Außerdem wird vor dem Sichern überprüft, ob das Medium auf dem gleichen Rechner und mit der gleichen tapetest Programmversion formatiert wurde. Ist dies nicht der Fall, wird das Medium vom Programm abgelehnt.

Die Angabe der Größe ist optional. Sie wird in jedem Fall zusätzlich dem Header entnommen. Die letztendlich verwendete Größe ist das Minimum der beiden Werte.

Ein korrekter Aufruf zum Sichern des aktuellen Verzeichnisses kann z.B. wie folgt aussehen:

tapetest -v -f -c dump -d /dev/nst0 -l System ./

Tritt beim Sichern der Daten ein Fehler auf, so wird dies im Header vermerkt und die bereits gesicherten Daten werden gelöscht. In diesem Fall und wenn das Zielmedium zu klein für die zu sichernden Daten ist, wird ein neues Medium angefordert. Es werden so lange Medien angefordert, bis alle Daten gesichert worden konnten. Die neuen Medien müssen zuvor korrekt formatiert worden sein.

Info

Das Kommando info dient dem Auslesen des Headers. Hierbei können die folgenden Parameter verwendet werden:

 -d <target>Verweis auf das Zielmedium.

Ein korrekter Aufruf von info erzeugt eine Ausgabe wie folgt:

> tapetest -d /dev/nst0 -c info
hostname: SYSIBM006
system: Linux
label: unknown(42)
version: 0.1
date: Tue Nov 20 14:47:48 2012
count: 20
size: 500MiB
flag: full

Die Angabe zu den Parametern hostname, system und version werden beim Kommando format festgelegt. In Verbindung mit label werden sie beim Aufruf von dump überprüft und müssen übereinstimmen, anderenfalls wird das Medium nicht für die Sicherung akzeptiert.

Die Parameter date und count geben an, wann das letzte Mal auf das Medium geschrieben und wie oft es bereits für eine Sicherung verwendet wurde. Bei einem Aufruf von format werden beide Parameter zurückgesetzt.



 Wiederherstellung (Restore)

Wer will schon restore, alle wollen backup!

Das Programm tapetest unterstützt in der aktuellen Version ein Wiederherstellen der Daten nicht. Stattdessen kann das Programm tar verwendet werden. Beim Backup auf ein Band, welches nur sequentielle beschrieben werden kann, erfolgt die Wiederherstellung der Daten wie folgt:

mt -f /dev/nst0 fsf 2
tar xf /dev/nst0

In dem Beispiel wird angenommen, dass die Daten über das Device /dev/nst0 gesichert wurden. Wurde dem Programm tapetest bei der Sicherung ein anderes Gerät übergeben, muss der obige Aufruf entsprechend angepasst werden.

Das Wiederherstellen der Daten erfolgt in das aktuelle Verzeichnis. Es werden zudem alle Daten wiederhergestellt, es muss demzufolge ausreichend Speicherplatz zur Verfügung stehen.

Erfolgt die Sicherung der Daten in ein Verzeichnis, so kann in diesem Fall die Datei data wie im obigen Beispiel mittels tar direkt ausgepackt werden. Ein Vorspulen des Bandes, mittels mt ist in diesem Fall nicht notwendig.



 Download
DateiMD5
tapetest-0.1.tar.bz2327c528daff68d20c4b72c3f4625a8f5


oben
26.11.2012