PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit Exclude im Tar



hambam
23.10.09, 08:22
Hallo,

ich möchte regelmäßig mein System über Tar auf Band sichern.
Dabei möchte ich bestimmte Verzeichnisse auslassen.
Der Tar sieht derzeit folgendermaßen aus:

tar -cSpf /dev/st0 / --exclude=/daten 2>>/script/log.txt

Leider wird in der log.txt der folgende Text ausgeworfen und das Verzeichnis dennoch mitgesichert:
tar: --exclude=/daten: Cannot stat: No such file or directory
tar: Error exit delayed from previous errors

Wie kann ich außerdem folgende Meldungen aus dem Log auslassen?:
tar: /var/spool/postfix/public/flush: socket ignored


Freue ich auf Eure Unterstützung.

asi_dkn
23.10.09, 08:34
tar: --exclude=/daten: Cannot stat: No such file or directory
Deutet ja irgendwie darauf hin dass das Verzeichnis nicht existiert, was aber eigentlich egal sein sollte. Wenn ich Files mit tar packe und ein nicht exisitierendes exclude erhalte ich keien Ausgabe oder so. Was für ein OS und tar Version setzt du denn ein? Mit welchem User fürst du den Befehl aus? Und ist /daten ein Mountpoint?

Und wieso willst du die Meldung wegen dem Socket weglassen? In dem File das du schreibst werden ja vermutlich ohnehin nur Fehler aufgeführt oder? Andernfalls machst du für die Socketfiles auch einen exclude damit diese gar nicht erst gesichert werden. Vielleiecht wäre es dann einfacher die Option -X zu verwenden und ein File mit einer List von Files zu excluden (siehe Man).

gropiuskalle
23.10.09, 08:52
→ Hier (http://www.linux-forum.de/frage-zur-verwendung-von-tar-31021.html) wird das Problem im weiteren Verlauf übrigens auch schon behandelt.

hambam
23.10.09, 08:52
Die Fehlermeldung tritt auch auf, wenn ich die Verzeichnisse, die diesen Socket-Fehler auswerfen ausklammern möchte.
Also z.B. --exclude=/var/spool
Die Verzeichnisse existieren in jedem Fall und es handelt sich auch nicht um einen Mountpoint.
Verwendetes Linux ist eine SUSE SLES 10 und Tar ist Version 1.15.1

Ich hatte sogar schon den tar umgestellt, dass ich nicht /daten ausgeklammert habe, sondern explizit die Verzeichnisse angegeben hatte. Dann traten die Fehler auch bei bspw. /var/spool etc. auf.
Hier mal der derzeitige vollständige Tar-Befehl und das entsprechende Log:

tar -cSpf /dev/st0 /bin /boot /cs_inst /dev /etc /home /lib /opt /root /sbin /script /srv/ /usr /var --exclude=var/spool --exclude=/var/run --exclude=/dev/log 2>>/script/log.txt

tar: Removing leading `/' from member names
tar: Removing leading `/' from hard link targets
tar: /dev/log: socket ignored
tar: /var/run/zmd/zmd-web.socket: socket ignored
tar: /var/run/zmd/zmd-remoting.socket: socket ignored
tar: /var/run/dbus/system_bus_socket: socket ignored
tar: /var/run/nscd/socket: socket ignored
tar: /var/run/acpid.socket: socket ignored
tar: /var/run/libvirt/libvirt-sock-ro: socket ignored
tar: /var/run/libvirt/libvirt-sock: socket ignored
tar: /var/run/.resmgr_socket: socket ignored
tar: /var/spool/postfix/public/flush: socket ignored
tar: /var/spool/postfix/public/showq: socket ignored
tar: /var/spool/postfix/public/cleanup: socket ignored
tar: /var/spool/postfix/private/lmtp: socket ignored
tar: /var/spool/postfix/private/smtp: socket ignored
tar: /var/spool/postfix/private/uucp: socket ignored
tar: /var/spool/postfix/private/rewrite: socket ignored
tar: /var/spool/postfix/private/discard: socket ignored
tar: /var/spool/postfix/private/anvil: socket ignored
tar: /var/spool/postfix/private/bsmtp: socket ignored
tar: /var/spool/postfix/private/defer: socket ignored
tar: /var/spool/postfix/private/cyrus: socket ignored
tar: /var/spool/postfix/private/error: socket ignored
tar: /var/spool/postfix/private/local: socket ignored
tar: /var/spool/postfix/private/relay: socket ignored
tar: /var/spool/postfix/private/trace: socket ignored
tar: /var/spool/postfix/private/maildrop: socket ignored
tar: /var/spool/postfix/private/bounce: socket ignored
tar: /var/spool/postfix/private/ifmail: socket ignored
tar: /var/spool/postfix/private/scache: socket ignored
tar: /var/spool/postfix/private/verify: socket ignored
tar: /var/spool/postfix/private/virtual: socket ignored
tar: /var/spool/postfix/private/procmail: socket ignored
tar: /var/spool/postfix/private/proxymap: socket ignored
tar: --exclude=var/spool: Cannot stat: No such file or directory
tar: --exclude=/var/run: Cannot stat: No such file or directory
tar: --exclude=/dev/log: Cannot stat: No such file or directory
tar: Error exit delayed from previous errors

asterixer
23.10.09, 09:12
Ist nur n Schuss ins Blaue, aber vielleicht muss es ja --exclude=/var/spool/* heissen?

AST

hambam
23.10.09, 09:20
Die meisten Beispiele, die ich unter google gefunden hatte, enthielten kein /* am Ende, also bspw. nur /var/spool anstatt /var/spool/*.
Dennoch werde ich es ausprobieren und schauen, ob es vielleicht daran liegt.
Erstmal danke für die Idee.

drcux
23.10.09, 09:20
tar -cSpf /dev/st0s


"f" ?
-f, --file=ARCHIVE use archive file or device ARCHIVE

Nee, kann auch auf ein Device, ich dachte tar kommt vielleicht deswegen ins schlingern...

drcux
23.10.09, 09:27
Veränder mal die Reihenfolge:

tar --exclude=/daten -cSpf /dev/st0 /

hambam
23.10.09, 09:48
Ok, Reihenfolge auch verändert...
Sobald ich ein Ergebnis habe, werde ich berichten.
Vielen Danke bereits für die schnelle Unterstützung.

hambam
27.10.09, 06:43
Das Wichtigste zuerst: Es funktioniert.

Ich denke, dass die Reihenfolge weniger zur Lösung beigetragen hat, des Rätsels Lösung war wohl die Angabe des verzeichnisses mit /* am Ende.
Asterixer hatte also die zündende Idee.

Vielen Danke für die freundlichen und hilfsbereiten Antworten.

Wille
30.10.09, 01:34
Ich hätt ja nicht damit gerechnet, dass heute noch Bänder benutzt werden, aber Wikipedia spricht sogar von Bändern, die ne Kapazität von >1TB haben.

drcux
30.10.09, 07:46
Ich denke, dass die Reihenfolge weniger zur Lösung beigetragen hat, des Rätsels Lösung war wohl die Angabe des verzeichnisses mit /* am Ende.

"Ich denke" und "war wohl" ist unbefriedigend...