Re: tar ssh stream true64 -> bsd :)

From: Christian Weisgerber <naddy(at)mips.inka.de>
Date: Fri, 19 Mar 2004 11:46:57 +0000 (UTC)

Otto Kucera <ok(at)72pixel.at> wrote:

> also auf der unix kiste: tar -cvvbf 20 - /iux/lgs21/Kund* | ssh oktest
> "cat > /dev/sa0"
>
> und wenn ich dann auf meinen supa tolle bsd schau dann ...
>
> root(at)ok_test:/home/test > tar tf /dev/sa0
> tar: Record size = 8 blocks
> /iux/lgs21/Kundenbaender
> /iux/lgs21/Kundenbaender/sistsm
> tar: Unaligned block (1 bytes) in archive
> tar: Error is not recoverable: exiting now

tar-Archive werden mit einer bestimmten logischen Blockgröße angelegt.

Bandlaufwerke arbeiten nicht mit einem Bytestrom wie normale Dateien,
sondern blockweise, siehe sa(4) "Blocking Modes".

Wenn tar(1) ein Archiv direkt vom Band zurücklesen soll, dann müssen
beide Arten von Blockgrößen kompatibel sein.

cat(1) ist das falsche Werkzeug um ein Archiv auf Band zu schreiben;
die Größe der Happen, in denen es liest/schreibt, ist nicht
dokumentiert, und wenn nicht zufällig das Teilerverhältnis stimmt,
dann ist der letzte Block zu kurz. Wenn man ein Archiv indirekt auf
(von) Band schreibt (liest), dann verwendet man dd(1) mit der der
Archivstruktur entsprechenden Blockgröße.

tar -cvvbf 20 - /iux/lgs21/Kund* | ssh oktest "dd bs=20b of=/dev/sa0"

In der Praxis ist es meist geschickter, statt simplem dd(1) ein
pufferndes Programm wie ports/misc/{team,buffer} zu verwenden.

Vgl. auch "Elementare Backupwerkzeuge"
http://home.pages.de/~naddy/unix/backup.html

-- 
Christian "naddy" Weisgerber                          naddy(at)mips.inka.de
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Fri 19 Mar 2004 - 12:47:27 CET

search this site