[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Shellskript: fuehrende Null beim Monat erhalten



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 | schmidtc@chemie.uni-hamburg.de
PGP Key ID: 0x4BB05393



Reply to: