Hallo miteinander,
auf unserem Loghost wollen wir die Logs der "Clients" nach Ablauf
einer bestimmten Zeitspanne mit einem Tool wie Logcheck oder
aehnlichem weiterverarbeiten und im Anschluss zwecks Platzersparnis
"gzippen".
Die "Destination"-Anweisung fuer die Logs der anderen Rechner lautet
/var/log/HOSTS/$HOST/$FACILITY.$MONTH-$YEAR, 
so dass ein Logfile z.B.
unter /var/log(HOSTS/1.2.3.4/daemon.07-2002
zu finden ist.
Mit einem Shellskript moechte ich jetzt zunaechst alle Logfiles aus
dem jeweils vorletzten Monat heraussuchen:

 #!/bin/sh
 #
 # Some declaration stuff:
 #
 YEAR=`/bin/date +%Y`
 MONTH=`/bin/date +%m`
 OLDMONTH=`expr $MONTH - 2`
 SUFFIX=$OLDMONTH-$YEAR
 #
 RHOSTS="<diverse ip-adressen>"
 LOGFILES="auth authpriv cron daemon"
 #
 #
 for HOST in ${RHOSTS}; 
 do
  cd /var/log/HOSTS/$HOST
  echo "Bearbeite Logfiles von $HOST..."
  for FILE in ${LOGFILES};
  do
   ls -l /var/log/HOSTS/$HOST/$FILE.$SUFFIX;
  done
 done

"Leider" tragen die Logfiles in der "Monatsnummer" eine fuehrende
Null, die bei der Berechnung des $OLDMONTH mit `expr $MONTH - 2`
"verschwindet" - sprich: Ich moechte, dass die variable SUFFIX z.B. im
September den Wert "07-2002" erhaelt.

Vielleicht kann mir ja jemand einen Tip geben - ein paar Stichworte
zum Verfuettern an google oder man bash wuerden schon reichen...;-)

Vielleicht sagt sich auch jemand "das ist viel zu kompliziert" - auch
Kritik lese ich gern...

Dank & Gruss,
Christian

-- 
Christian Schmidt | Germany | [EMAIL PROTECTED]
PGP Key ID: 0x4BB05393


-- 
Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)

Antwort per Email an