[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: TAR-Archivierung



On Die, 20 Mai 2003 at 12:19 (+0200), Andreas Pakulat wrote:
[...]
> Einfacher bei dir wäre Wahrscheinlich:
> find / -name *.conf | tar -P -cjf conffiles.tar.bz2
> und dann im Zielsystem einfach:
> tar -xpjmf conffiles.tar.bz2
> 
> Wobei du vorher mal checken solltest ob der . bei find noch escaped
> werden muss und ob das mit der Pipe so hinhaut. Wenn ihm da zu viele
> Argumente sind (die Anzahl an conf-Dateien zu gross ist) musst du wohl
> find / -name *.conf | while read f ; do tar -P -rf conffiles.tar ; done
> und dann erst packen (tar kann an gepackte Archive nichts anhängen)
> und auf dem Zielsystem wieder auspacken.

Nicht der Punkt, sondern der * muss entwertet werden, sonst wird er
u. U. (nämlich dann, wenn sich im aktuellen Verzeichnis zufälligerweise 
passende Dateinamen finden) von der Shell expandiert.

Das mit der Pipe haut so nicht hin, es funktioniert aber so:
find / -name "*.conf" | tar -P -cjf conffiles.tar.bz2 -T -

Die Option -T - weist tar an, die Liste der Dateinamen aus stdin zu
lesen. Dann gibt es auch keine Schwierigkeiten mit der Anzahl der
Argumente.

Wenn man es so macht:
tar -P -cjf conffiles.tar.bz2 `find / -name "*.conf"`
dann kann es zu dem von Dir erwähnten Problem kommen. Dann kommen
die Dateinamen nämlich als Argumentliste an.

Jan



Reply to: