• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst]tar-Backup erzeugen ohne gewisse Unterverzeichnisse?

Hi,

ich bin grade am erstellen verschiedener tar-Sicherungen. Bisher mache ich das bspw. so:
Code:
tar -czvl -f /root/srv.tgz /srv

Ist es hierbei möglich, ein Backup von /srv zu erstellen, aber das Unterverzeichnis /test, oder auch mehrere Unterverzeichnisse nicht mit in das tgz-File aufzunehmen?
Wenn ja, wie sieht die Syntax aus?

Danke und Gruß.
 
OP
M

magic_halli

Hacker
Mh, ich hab das jetzt mit allen möglichen schreibweisen versucht... will einfach nicht klappen. Als Test habe ich mal /var/log sichern wollen, allerdings ohne /var/log/cups-Verzeichnis:
Code:
tar -czvl -f /root/var_log.tgz /var/log --exclude=/var/log/cups
Er rattert los (mit Warnungen) und sichert mir auch das /cups-Verzeichnis mit - bricht jedoch irgendwann mit Error ab! Hier mal mein Konsolensnipplet:
Code:
v1:~ # tar -czvl -f /root/var_log.tgz /var/log --exclude=/var/log/cups
tar: Semantics of -l option will change in the future releases.
tar: Please use --one-file-system option instead.
tar: Removing leading `/' from member names
/var/log/
/var/log/ntp
/var/log/cups/
/var/log/cups/page_log
... <hier erstmal noch fleißig weiter im Text> ...
tar: --exclude=/var/log/cups: Cannot stat: No such file or directory
tar: Error exit delayed from previous errors
v1:~ #
Wie muss es denn richtig geschrieben sein, damit das funzt?
 
OP
M

magic_halli

Hacker
Sehr schön, jetzt klappt´s. :lol:

Noch ne Frage: Wie muß ich das syntaktisch schreiben, wenn ich mehrere Unterverzeichnisse in ein Archiv nicht mit aufnehmen will??? Wie oben, aber hinter '--exclude=' mit Kommas die einzelnen Unterverzeichnisse getrennt? (glaube ich aber bald nicht!)
 
b3ll3roph0n schrieb:
Das -f muss die letzte Option sein:
Code:
tar -cjv --exclude=var/log/YaST2 -f ./var_log.tar.bz2 /var/log
Muss sie nicht:
Code:
tar -C / --exclude=var/log/YaST2 -f foobar.tar.bz2 -cvj var/log usr/local noch/ein/verzeichnis und/noch/eins
 
magic_halli schrieb:
Noch ne Frage: Wie muß ich das syntaktisch schreiben, wenn ich mehrere Unterverzeichnisse in ein Archiv nicht mit aufnehmen will???
man tar
Code:
-X, --exclude-from=FILE
              exclude files matching patterns listed in FILE
Code:
tar -cjv --exclude-from=./exclude.lst -f ./var_log.tar.bz2 /var/log
Code:
# cat exclude.lst 
var/log/cups*
var/log/YaST2*
 
Oben