tar: argumentlist too long

Software besorgen und anwenden
Post Reply
Message
Author
Cayman

tar: argumentlist too long

#1 Post by Cayman »

Hallo,

ich habe ein Verzeichnis einer selbstgestrickten Anwendung (nicht von mir), in dem mehrere tausend Dateien liegen, insgesamt vier Typen, von denen ich zwei sichern muß. Ging lange Zeit auch gut, aber jetzt renne ich in ein Problem.

Wenn ich nun ein "tar cfz /foo/bar.tar.gz *.cxi *.pdo" mache, bekomme ich die Meldung: tar: argumentlist too long.

Vermutlich sprengt das ersetzen des Asterisk den Zeichenbuffer der shell. Kann man was dagegen machen?

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#2 Post by Janka »

tar kann auch an ein existierendes Archiv anhängen. Dazu darf es nicht gezippt sein, aber das kann man ja später nachholen.

Code: Select all

$ find <Verzeichnis> \&#40; -name '*.cxi' -o -name '*.pdo' \&#41; -exec tar -r -f archiv.tar &#123;&#125; \;
$ gzip archiv.tar
Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

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

#3 Post by hjb »

Hi,
Janka wrote:tar kann auch an ein existierendes Archiv anhängen. Dazu darf es nicht gezippt sein, aber das kann man ja später nachholen.

Code: Select all

$ find <Verzeichnis> \&#40; -name '*.cxi' -o -name '*.pdo' \&#41; -exec tar -r -f archiv.tar &#123;&#125; \;
$ gzip archiv.tar
mal abgesehen davon, dass man evtl. auch tar mit --exclude verwenden könnte, dürfte obiges viel zu langsam sein. Besser:

Code: Select all

find <Verzeichnis> \&#40; -name '*.cxi' -o -name '*.pdo' \&#41;  | cpio -o -H tar | gzip > archiv.tar.gz
Das korrekte Argument hinter -H musst du nachschlagen, habe gerade keine Manpage von cpio da.

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

User avatar
jochen
prolinux-forum-admin
Posts: 699
Joined: 14. Jan 2000 15:37
Location: Jülich
Contact:

#4 Post by jochen »

Statt "tar" wäre "ustar" (tar nach POSIX.1) die bessere Wahl.

Jochen
Die grösste Lüge der EDV? "Mal eben..."

Post Reply