On 20.Mai 2003 - 22:58:10, Jan Trippler wrote: > 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. Na gut die " hab ich total beim tippen vergessen. Hab das auch nur aus dem Kopf getippt ohne es zu testen. > 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. Danke wieder was gelernt, das mit der Option wusste ich noch nicht. > 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. Ja mit sowas bin ich zu Anfang immer auf die Nase gefallen, deswegen keine find-ähnlichen Konstrukt (locate, ls *) in $() oder ``. Andreas -- Es ist schon alles gesagt, nur nicht von allen. -- Karl Valentin
Attachment:
pgpVyIW8cZLoE.pgp
Description: PGP signature