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

[solved] tar zum schweigen bringen

wenf

Hacker
tar -czf archiv.tar.gz /home

sagt immer tar removig /.... oder so ähnlich
wie kann ich tar dieses austreiben

tar -czf archiv.tar.gz /home > /dev/null
bringt leider auch nichts.

hat jemand eine idee ?

Grund: erstelle jede Nacht eine Sicherung mit tar
der Cron Daemon sendet mir dann immer ein e-mail mit dem
"removing / usw"
diese ausgabe würde ich aber gerne in eine Datei umleiten
 
A

Anonymous

Gast
der grund ist ein sicherheitsmechanismus in tar.
wenn der zu sichernde pfad einen "trailing slash" hat wird dieser entfernt.
hintergrund[/] ist der, daß keiner eine "bombe" in ein tar einpacken kann mit dem netten namen /sbin/su welches dann auch noch das setuid-bit hat... könnte er das machen wäre das eine massive sicherheitslücke.
abhilfe könnte dir ein script schaffen, welches ein "cd /; tar czf home.tar.gz home" macht oder eine umlenkung nicht mit " > /dev/null" sondern "2> /dev/null" ( > = stdout, 2> = stderrout, siehe auch fehlerkanäle)

Loci
 
OP
wenf

wenf

Hacker
thx

das mit 2> datei
funktioniert hatte nur immer
2>&1 datei
versucht und seltsamerweise funktioniert das nicht

habe aber noch nicht verstanden warum ....

2> datei > datei
funktioniert auch
 
A

Anonymous

Gast
wenf schrieb:
thx

das mit 2> datei
funktioniert hatte nur immer
2>&1 datei
versucht und seltsamerweise funktioniert das nicht

habe aber noch nicht verstanden warum ....

2> datei > datei
funktioniert auch

du hast hier 3 verschiedene fälle hingeschrieben
2> datei = umleitung von standarderror nach datei
2>&1 datei = kann nicht gehen, wenn dann#
2>&1 > datei = umleitung von standarderror nach standardoutput, umleitung von stdout nach datei
2> datei > datei = umleitung von stderr nach datei dann umleitung von stdout nach datei.... (ACHTUNG: das ist nicht das selbe wie das darüber!!!)

Loci
 
OP
wenf

wenf

Hacker
Loci schrieb:
du hast hier 3 verschiedene fälle hingeschrieben
2> datei = umleitung von standarderror nach datei
2>&1 datei = kann nicht gehen, wenn dann#
2>&1 > datei = umleitung von standarderror nach standardoutput, umleitung von stdout nach datei
2> datei > datei = umleitung von stderr nach datei dann umleitung von stdout nach datei.... (ACHTUNG: das ist nicht das selbe wie das darüber!!!)

ist mir schon klar, dass das verschiedene fälle sind
ich bin davon ausgegangen, dass dies nicht über stdout (>) funktioniert darum müßte es stderror sein (2>)

da dies in der Nacht geschieht und alles (stdout und stderr) in einer datei mitprotokolliert werden soll, habe ich mir gedacht, dass
2>&1 > /pfad/zu/logfile
funktionieren sollte

leider ist dem nicht so
die anderen beispiele habe ich nun nur zum testen verwendet

so weit ich mich erinnern kann...
2>&1 > file : sollte stderr und stdout zusammenfassen und in file speichern. (funktioniert aber mit tar nicht SuSE 9.0 GNUTar 1.13.25)

das was mich aber nun verwundert:
2>> /tmp/tar-log >>/tmp/tar-log
funktioniert und sollte das gleiche resultat bringen wie
2>&1 > /tmp/tar-log

(ausgenommen, im ersten beispiel wird immer an die datei angehängt und im zweiten wird die datei bei jedem neuen aufruf neu erstellt)
 
A

Anonymous

Gast
>> hängt an, > erstellt neu oder überschreibt wenn vorhanden

das problem mit der mail hatte ich aber auch mal, das liegt am cron... wenn es fehler gibt kannste dem sagen was du willst der schickt das immer per mail...

startest du das ding inderekt per cron - script - prog? oder direkt vom cron aus? wenn letzteres probier mal die erste variante und leite schon im script die ausgaben um... und mach am ende ein kommando rein, daß immer mit true antwortet, z.b. echo oder so... dann kriegt cron als letztes ereignis ein true und sollte keine fehler per mail weiterleiten...
is quick, dirty aber sollte funzen ;)
Loci
 
OP
wenf

wenf

Hacker
ist mir alles schon klar

war nur verwundert, dass

2>> /tmp/tar-log >>/tmp/tar-log
mit tar funktioniert
aber

2>&1 >> /tmp/tar-log

nicht

ps: cron startet ein script und im script wird backup erstellt
und danach mit scp auf einen anderen host kopiert
wenn dieses kopieren (scp) nicht funktioniert will ich eine message erhalten also error code <> 0

das passt schon alles so

thx für deine bemühungen
 
Oben