Logfile nach Rotation per Mail verschicken

From: Christoph Sandhaus <mailings_at_draupadi.de>
Date: Mon, 17 Mar 2008 10:55:21 +0100

Moin!

Ich möchte System-Logdateien nach einem Rotate (/etc/syslog.conf => /etc/cron.
[daily|weekly]/sysklogd => savelog) per Mail verschicken.

Mein Wunsch ist es dabei, die erstmals komprimierte
Datei /var/log/<name>.log.1.gz mit Datum (etwa "JJJJMMTT-<name>.log.1.gz) zu
versehen und diese dann abzuschicken.

Der Mail-Mechanismus ist kein Problem, sondern der Zeitpunkt des Mailversands.

Kann man savelog via Cron irgendwie dazu verwenden?

Ich sehe zur Zeit zwei Möglichkeiten:

1)
Ich schreibe einen eigenes Cron Script, welches das Datum der Dateien
überwacht und die Mail verschickt. Nicht schön und nicht zuverlässig.

2)
Die Cron Skripte (/etc/cron.[daily|weekly]/sysklogd) anpassen:

=== schnipp ===
for LOG in `syslogd-listfiles`
do
   if [ -s $LOG ]; then
      savelog -g adm -m 640 -u root -c 7 $LOG >/dev/null

      // hier die Erweiterung, etwa so (ungetestet):
      // ich weiß, daß /tmp für Systemlogs - wenn auch nur
      // temporär, ungeeignet ist (Sicherheit)
      FN=/tmp/$(date +'%Y%m%d')-$LOG.1.gz
      echo "Logdatei $LOG rotiert" | nail -s "$LOG" -a "$FN" <mailadresse>
      rm -f $FN
   fi
done
=== schnipp ===

Meine Frage:
Gibt es ggf. Probleme bei System-Updates, wenn ich die Cron-Skripte ändere?
Kennt ihr schönere Möglichkeiten?
Erkennt ihr Fehler in meiner Idee?

Danke und Gruß,
Christoph
Received on Mon Mar 17 2008 - 10:55:21 CET

This archive was generated by hypermail 2.2.0 : Mon Mar 17 2008 - 10:55:38 CET