hallo,
Ich möchte ein backup aller dateien erstellen , die mit "find" ermittelt worden sind.
Alle dateien , ausser die mit der endung mp3 und ogg:
$ find ~/Desktop/projekte/ -type f \( ! -name "*.mp3" -or ! -name "*.ogg" \) -print
anschliessend STDOUT nach "tar" gepiped:
... | tar --files-from=- -cvzf /dev/st0
Das funktioniert schonmal ganz gut, allerdings machen file-namen mit leerzeichen probleme.
Das problem, dachte ich, könne man mit -print0 lösen. Leider ist dem aber nicht so:
"tar: Removing leading `/' from member names" bekomme ich als fehlermeldung ....
Hat jemand einen heissen tip für mich ?
find + tar problem mit -print0
- finupsen
- Beiträge: 1327
- Registriert: 21.04.2004 20:07:05
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
find + tar problem mit -print0
Niemand hat vor eine zentrale Datensammelbehörde aufzubauen. Es handelt sich vielmehr um dezentrale IT-Systeme die miteinander vernetzt werden.
... und Wasser ist naß.
... und Wasser ist naß.
Also eine Möglichkeit wäre hier könnte es aber zu Problemen kommen, wenn es zuviele Dateien sind, so dass xargs tar mehrmals aufruft. Besser ist daher evtl das hier (ungetestet)
Alternativ könntest du dir mal cpio anschauen, ist eine tar-alternative, die mit Nullterminertern Strings zurechtkommt.
Code: Alles auswählen
find .... -print0 | xargs -0 tar -cvzf /dev/...
Code: Alles auswählen
find ... -print > filelist
tar --files-from=fiellist -cvzf /dev/st0
- Savar
- Beiträge: 7174
- Registriert: 30.07.2004 09:28:58
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Berlin
ich empfehle immer
wobei er da natürlich die Unterordner beibehält...
Code: Alles auswählen
dar
Code: Alles auswählen
dar -R ~/Desktop/projekte/ -X "*.mp3" -X "*.ogg"
- finupsen
- Beiträge: 1327
- Registriert: 21.04.2004 20:07:05
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
aaach, wie doof, man darf den ausdruck "-name expr" nicht in klammern setzen.
so funktioniert es jetz:
find ~/Desktop/projekte/ -type f ! -name '*.mp3' -and ! -name '*.ogg' -print \
| tar --files-from=- -cvzf - | buffer -o /dev/st0
danke euch allen
so funktioniert es jetz:
find ~/Desktop/projekte/ -type f ! -name '*.mp3' -and ! -name '*.ogg' -print \
| tar --files-from=- -cvzf - | buffer -o /dev/st0
danke euch allen
Niemand hat vor eine zentrale Datensammelbehörde aufzubauen. Es handelt sich vielmehr um dezentrale IT-Systeme die miteinander vernetzt werden.
... und Wasser ist naß.
... und Wasser ist naß.