Kdat-Backup

Message
Author
Welle

Re: Kdat-Backup

#16 Post by Welle »

Mir scheint, es geht langsam voran (sic!)
Wenn ich den ersten / noch hinmache und statt .../nst0 .../st0 nehme, bekommen ich immerhin keine Fehlermeldung!!! Aber: auf das "rewind" tut sich schlicht nix - ich lande wieder in der Kommandozeile.
Bei "fsf" wird das Bandlaufwerk aktiv und spoolt, dann nochmal "fsf", dann die dd/file Kommandos - und das Ergebnis ist das gleiche wie beim ersten mal.
Und ich denke mir, nachdem das Band nun gespult hat, müßte ich doch auch rewinden können. Also mt -f /dev/st0 rewind eingetippt - und: nix tut sich.

User avatar
hjb
Pro-Linux
Posts: 3264
Joined: 15. Aug 1999 16:59
Location: Bruchsal
Contact:

Re: Kdat-Backup

#17 Post by hjb »

Hi,

wenn du /dev/st0 nimmst, wird das Band nach jeder Operation an den Anfang gespult. Ich kann mir schon vorstellen, daß "mt rewind" in dem Fall gar nicht funktioniert.

Also: für Positionierungs-Operationen (natürlich auch das anschließende Lesen und Schreiben) nimm immer /dev/nst0.

Gruß,
hjb
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?

Jochen

Re: Kdat-Backup

#18 Post by Jochen »

Jepp, hjb hat da vollkommen recht. Falls /dev/nst0 nicht existieren sollte:<pre>mknod /dev/nst0 c 9 128</pre>Achte genau auf die Verwendung von st0 und nst0: Das erste mt-rewind sorgt für ein Zurückspulen des Tapes, damit man garantiert am Anfang steht. Die weiteren mt-Kommandos verwenden nst0, da sonst nach jedem mt-Kommando das Tape wieder ganz an den Anfang gespult wird. Wenn Du also von Filemark zu Filemark springen willst, musst Du /dev/nst0 verwenden.

Gute Nachrichten ansonsten: In der Doku zu KDat steht explizit, dass tatsächlich lediglich ein kleines ID-File an den Anfang des Bandes geschrieben wird und alle weiteren Files auf dem Tape reine tar-Archive sind. Also: Nicht verzweifeln, an die Daten kommst Du noch ran!

Welle

Re: Kdat-Backup

#19 Post by Welle »

Nachdem ich nun "nst0" eingetippt habe, kommt wieder das mit dem "not charakter special file".
Also hab ich mich auf die Suche nach ner Datei "nst0" gemacht. Das Ergebnis:
In /dev hab ich ein Verzeichnis mit dem Namen "nst0"! Und was ist drin?? Daten, die eigentlich auf meinem "gemeinsamenVerzeichnis", das als Servervolume freigegeben ist drauf sein sollten. Ich hab keine Ahnung, wie die dahin kommen. Vor allem da die Clients auf "/dev" gar keinen Zugriff haben...
Ansonsten gibts nur Dateien wie "nst0~", "nst0a", "nst0I", "nst0m", "nst1", "nst1a" usw.
So wie ich das sehe, müßte ich wohl diesen ominösen "nst0-Ordner" löschen und dann die Datei wie von Jochen geschildert anlegen. Oder?
Und eins möcht ich nun auch mal loswerden: Für die Unterstützung danke ich jedem von Euch gaaaanz gaaaanz herzlich. Und ich hab das Gefühl, trotz meiner Unkenntnis nicht hilflos dazustehen. UUUUnd: mein Blutdruck bleibt unten. Merci.

Jochen

Re: Kdat-Backup

#20 Post by Jochen »

Das character special file kannst Du unter beliebigem Namen erstellen und benutzen, "/dev/nst0" ist lediglich eine Konvention, an die man sich aber halten sollte: 1. Alle Gerätedateien an einem Ort und 2. alle Distris verwenden den gleichen Namen. Also, wenn Du mich fragst, mach einfach ein<pre>mv /dev/nst0 /irgend/wo/hin</pre>Die Daten werden ja vielleicht noch gebraucht, gehören aber einfach nicht unter /dev hin. Und dann wie o.a. ein <pre>mknod -m 0600 /dev/nst0 c 9 128</pre>Dadurch kann dann nur root auf das Tape Drive zugreifen. Und jetzt müssen auch die verfl... mt-Kommandos laufen!

Übrigens, über die /dev/st1 - /dev/nst1 Files würdest Du auf ein zweites Tape_drive in Deinem Rechner zugreifen (wenn Du denn eins hast). Über Files wie /dev/st0a, /dev/st0l kannst Du auf dein Tape mit unterschiedlichen Einstellungen wie Blockgrösse und so zugreifen, wenn Du diese Einstellungen denn vorgenommen hast. Tip: man mt bzw. man stinit!

Guck Dir noch mal die Datei /dev/nst0~ an, die Du oben nennst. Wenn's kein character special file ist, schau Dir den Inhalt an. Wenn's unwichtig ist, löschen. Die Tilde "~" hintendran kennzeichnet meist ein File, dass sich irgendein Texteditor zurückgelegt hat (so als temporäre Arbeitsdatei).

Welle

Re: Kdat-Backup

#21 Post by Welle »

Na prächtig! Nach
mt -f /dev/nst0 rewind und anschließend
mt -f /dev/nst0 fsf (aber nur einmal!) und der
dd/file - Kombination erhalte ich als Ergebnis:
/tmp/tapeblocks: GNU tar archive.
Wenn ich dann aber gucken will, was denn drauf ist (nach nochmaligem 2-fachen mt s.o.) hängt sich die Konsole bei: tar -t /dev/st0 (nst0 hab ich auch versucht) auf. D.h. der Cursor blinkt nur noch...

Jochen

Re: Kdat-Backup

#22 Post by Jochen »

Jau, das muss sie auch <img src="http://www.pro-linux.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">!

> die Konsole bei: tar -t /dev/st0 (nst0 hab ich auch versucht)

Aber ernsthaft, ein "tar -t /dev/st0" sagt tar nicht, <i>wo</i> es die Daten herlesen soll, da die Option <b>f</b> fehlt. Erst durch diese nimmt er dann das /dev/st0 als Quelle des Archivs. Weiterhin: Auf dem Band können nach dem ersten Archiv noch weitere folgen. Verwende /dev/nst0, dann spult das Band nicht nach jedem tar zurück und Du musst nicht neu positionieren. Gib entsprechend einfach so lange das entsprechende tar-Kommando ein, bis keine Archive mehr gefunden werden. Es könnte übrigens sein, dass nur jedes 2. tar-Kommando dann auch ein Archiv findet: 1. tar liest das Archiv bis File-Ende-Marke, 2. tar überliest die File-Ende-Marke ohne ein Archiv zu finden, 3. tar findet dann das Archiv hinter der File-Ende-Marke. Auch dieses Verhalten ist meines Wissens über mt/stinit änderbar.

Welle

Re: Kdat-Backup

#23 Post by Welle »

Juchhee, tanz tanz freude hüpf...
jetzt schreibt mir tar stundenlang den Bildschirm voll. Es sind halt auch 4GB auf dem Band drauf.
Kann ich eigentlich mit
tar -f /dev/nst0 -x /mein/verzeichnis/*
gleich alle Unterverzeichnisse und Dateien von .../mein/verzeichnis rauskopieren? Weil: alle brauch ich nicht wieder herzustellen.

Jochen

Re: Kdat-Backup

#24 Post by Jochen »

Schön, dass es geklappt hat! <img src="http://www.pro-linux.de/UltraBoard/Images/Happy.gif" border="0" align="middle"> <img src="http://www.pro-linux.de/UltraBoard/Images/Happy.gif" border="0" align="middle"> <img src="http://www.pro-linux.de/UltraBoard/Images/Happy.gif" border="0" align="middle">

Das mit dem Auspacken nur eines Unterverzeichnisses ist unproblematisch. Wie üblich an die richtige Stelle des Bandes positionieren und dann einfach <pre>tar -x -f /dev/nst0 mein/verzeichnis</pre>
Nicht verzweifeln, wenn das Band anläuft und erst mal (scheinbar) nix passiert, tar muss erst mal die Dateien auf dem Band überlesen, die vor dem Verzeichnis gesichert wurden.

Achte auf ein paar Dinge noch:

<li>Die Schreibweise von mein/verzeichnis muss genau so im Archiv gefunden werden. Wenn im Archiv also steht, dass "./mein/verzeichnis" gesichert wurde, dann musst Du das auch so auf der tar-kommandozeile so angeben. Bitte kein * hintendran schreiben, dass braucht tar nicht und stört nur!
<li>Achte mal auf die Zeitstempel der Dateien. Entpackst Du gerade die aktuellen Daten, oder ist das Archiv schon älter?
<li>KDat kann auf einem Band mehrere Sicherungen unterbringen, also wenn Du Dir nicht sicher bist, schau wie oben erläutert nach, ob noch weitere (jüngere?) Sicherungen auf dem Band sind.

Aber über den Berg bist Du ja jetzt <img src="http://www.pro-linux.de/UltraBoard/Images/Happy.gif" border="0" align="middle">. Viel Spass noch!

Welle

Re: Kdat-Backup

#25 Post by Welle »

Leider leider leider,
auf dem Band ist nur ein einziges Archiv ... und das auch noch mit einem "Unexpected EOF on archive file" mit der weiteren Meldung "Error is not recoverable: exiting now"
Die Daten, die ich rauskopieren wollte, befinden sich jedoch "mitten" im Archiv. Kann man irgendwie von Hand ein End of File in das Archiv reinschreiben, oder tar sagen, daß es halt nur die Sachen bis zum EOF kopieren soll??
Das fehlende EOF kam dadurch zustande, daß die zu sichernden Dateien etwas mehr als 4GB groß waren, aber nur 4 auf das Band paßten. Ich dachte, die restlichen werden halt nicht gesichert ... aber an die anderen komm ich jetzt immer noch nicht dran.

Jochen

Re: Kdat-Backup

#26 Post by Jochen »

Uffa, never ending story hier <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">!

Alle Dateien, die "tar -tvf /dev/nst0" (nach der üblichen Positioniererei) auflistet, kannst Du recovern, bis auf die letzte vor der Fehlermeldung, da diese nur noch teilweise aufs Band gesichert wurde. Was Dir dort nicht aufgelistet wird, ist nicht auf Band...

Geh so vor:
<pre>export TAPE=/dev/nst0
mt rewind
mt asf 1
</pre>Ja ja, ich habe auch was gelernt... Damit ist das Band an der richtigen Position (oder positionier wie oben, wenn Dir das lieber ist).<pre>tar tf $TAPE >/tmp/tapelist</pre>
Das dauert ein bisschen, tar schreibt Namen und Eigenschaften aller Dateien, die er auf dem Tape findet, in die Datei /tmp/tapelist. Die editierst Du jetzt: Lösch einfach die Zeilen der Dateien, die Du <i>nicht</i> recovert haben möchtest. Wenn in der Datei nur noch die Namen der gewünschten Dateien vorliegen, tippe im gewünschten Verzeichnis<pre>tar -x -v -f $TAPE -T /tmp/tapelist</pre>Jetzt zieht sich tar die Namen der zu extrahierenden Files aus der Datei und packt dementsprechend diese Dateien aus.

Achte bitte <i>genau</i> auf die zu verwendenden Optionen und Kommandos, ich habe extra alles noch mal doppelt gecheckt.

Viel Erfolg!

Welle

Re: Kdat-Backup

#27 Post by Welle »

Juuuchheeeeeee, das wars,
alles wieder da.
Hat zwar gedauert, aber Jochen und allen anderen hier noch mal viiiiieeeelen Dank.

Locked