PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : für ein backup script ein logfile einführen



Rogdab
02-06-2008, 15:27
Hallo,

ich habe mittlerweile ein recht komplexes backuü script mit nem haufen rsync und mysqldumps.
Gibt es eine komfortable Lösung um alle Fehlermeldungen und sonstigen Ausgaben in ein selbstdefiniertes logfile umzuleiten ohne hinter jeden Befehl eine ausgabeumleitung einzurichten?
logger loggt ja leider nur ins syslog, dann hab ich noch eines mit einer funktion log gefunden, dies versuch ich grad zu testen:

danke

jan61
02-06-2008, 18:43
Moin,

logger kannst Du schon nehmen, Du musst nur zusätzlich in der syslog.conf die Konfiguration so erweitern, dass die Meldungen in ein Dir genehmes Logfile geschrieben werden. Siehe man 5 syslog

Jan

Rogdab
03-06-2008, 11:05
das ist schonmal gut, ich hab jetzt ein eigens logfile, ers chreibt aber nur etwas darein wenn ich es mit "logger *" angebe.
Wie kann ich ihm den sagen das alle echo, standartoutput und standarterror messages auch in dieses logfile sollen. Natürlich nur im Rahmen diese bashscriptes.

danke

jan61
03-06-2008, 23:22
Moin,

das geht innerhalb des Scripts nicht so einfach. Die simpelste Variante ist diese:
pfad/zum/script 2>&1 | logger [optionen]Damit schickst Du zuerst mal die stderr-Ausgaben des Scripts nach stdout und das ganze gesammelte Geraffel per Pipe an den logger, denn (Auszug aus der man-Page von logger):

message
Write the message to log; if not specified, and the -f flag is not provided, standard input is logged.
Du kannst natürlich innerhalb des Scripts diese Konstruktion auf alles anwenden, was nicht bei 3 auf den Bäumen ist, aber das ist meist viel mühsamer als es einmal außen rum für alle Ausgaben zu machen (und vielleicht willst Du ja die eine oder andere Ausgabe auch im Script verwenden).

Jan