Packen mit tar: wie kann ich Dateien ausschließen?
Ralph
- software
0 Vinzenz Mai1 Tim Tepaße0 Ralph
Liebe Forumsmitglieder,
bisher mache ich meine Backups auf folgende Art:
tar -cf backup/meinArchiv.tar meinePhotos/
Funktioniert auch ganz prima, nur wird da mehr gesichert, als mir eigentlich lieb ist. Denn von den Daten, die sich da so befinden, bspw...
meinePhotos/123/123.jpg
meinePhotos/123/.listing
meinePhotos/123/thumbs/123.jpg
... brauche ich eigentlich nur diejenigen, die kein "thumbs" im Pfad haben, und deren Datei nicht ".listings" heißt. Ich brauche also von obigen Pfaden nur den ersten.
Geht das irgendwie?
Danke euch,
Ralph
Hallo,
tar -cf backup/meinArchiv.tar meinePhotos/
... brauche ich eigentlich nur diejenigen, die kein "thumbs" im Pfad haben, und deren Datei nicht ".listings" heißt. Ich brauche also von obigen Pfaden nur den ersten.
hast Du Dir die diversen Optionen, die mit --exclude beginnen, einmal angeschaut?
Freundliche Grüße
Vinzenz
Hallo,
eine unixoide Shell?
meinePhotos/123/123.jpg
meinePhotos/123/.listing
meinePhotos/123/thumbs/123.jpg
Man kann bei tar mit der Option --exclude bestimmte Muster von Dateipfaden ausschließen.
Du könntest aber auch anders denken: Du listest tar einfach die Dateien auf, die Du haben willst und das bequem mit der in der Shell eingebauten shell expansion:
$ ls -a foo/
. .hidden eins.jpg zwei.jpg
.. drei.jpg thumbs
(Ein Nachbau Deines Verzeichnisses)
$ echo foo/*
foo/drei.jpg foo/eins.jpg foo/thumbs foo/zwei.jpg
(Einfache shell expansion selektiert alles, ausser hidden Files)
$ echo foo/*.jpg
foo/drei.jpg foo/eins.jpg foo/zwei.jpg
(Ein genaueres Muster selektiert einfach nur die Dateien, die Du haben willst)
$ tar --create --verbose --file=bla.tar foo/*.jpg
foo/drei.jpg
foo/eins.jpg
foo/zwei.jpg
(Auch im Aufruf von tar findet die shell expansion statt. tar kriegt also einfach nur die Dateien Du willst)
$ tar --list --file=bla.tar
foo/drei.jpg
foo/eins.jpg
foo/zwei.jpg
(... und verpackt diese auch)
$ rm -R foo/
$ tar --extract --file=bla.tar
$ ls -a foo/
. .. drei.jpg eins.jpg zwei.jpg
(Tada!)
Tim
Hallo ihr beiden,
prima, hat mir sehr geholfen! Vor allem dir Tim, danke, hast meinen Horizont erweitert :-)
Ich hab's jetzt aber mit exclude gemacht, war ja richtig einfach. Ich hatte gedacht, oje, da muss ich die Positivliste (die ja bisher auch schon angebe) irgendwie negieren. Oder was mit regulaeren Ausdruecken... So gefaellt's mir besser! :-)
Ralph