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?
tar: argumentlist too long
tar kann auch an ein existierendes Archiv anhängen. Dazu darf es nicht gezippt sein, aber das kann man ja später nachholen.
Janka
Code: Alles auswählen
$ find <Verzeichnis> \( -name '*.cxi' -o -name '*.pdo' \) -exec tar -r -f archiv.tar {} \;
$ gzip archiv.tar
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.
Ich mag die Schreie.
Hi,
Das korrekte Argument hinter -H musst du nachschlagen, habe gerade keine Manpage von cpio da.
Grüße,
hjb
mal abgesehen davon, dass man evtl. auch tar mit --exclude verwenden könnte, dürfte obiges viel zu langsam sein. Besser:Janka hat geschrieben:tar kann auch an ein existierendes Archiv anhängen. Dazu darf es nicht gezippt sein, aber das kann man ja später nachholen.
Code: Alles auswählen
$ find <Verzeichnis> \( -name '*.cxi' -o -name '*.pdo' \) -exec tar -r -f archiv.tar {} \; $ gzip archiv.tar
Code: Alles auswählen
find <Verzeichnis> \( -name '*.cxi' -o -name '*.pdo' \) | cpio -o -H tar | gzip > archiv.tar.gz
Grüße,
hjb
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?