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)