Miniscript zur Rotation von IPFW Logs

asg

push it, don´t hype
Servus

Wer sich über zu grosse Logs bei IPFW "ärgert", oder diese immer manuell kopiert, löscht oder sich ausdruckt, dem könnte dieses kleine Script helfen.
Falls es mittlerweile eine eingebaute Option geben sollte bei IPFW, dann ist das Script natürlich obsolet, und ich nicht mehr up-to-date.

Hier das Script:
Code:
#!/bin/sh
#
# fw_rotor.sh
# (c) axel s. gruner 2003
#
# Rotation der IPFW Logdatei nach Vorgabe in der /etc/crontab
#
# Benutzung auf eigene Gefahr

# Setzen der Variablen 
# Bei Bedarf bitte anpassen
datum=$(date +"%Y%m%d-%H:%M")
fwlog=/var/log/secure/firewall.log
fwlog_store=/var/log/secure/fw_store
ipfw=/sbin/ipfw

# Kopieren der Logdatei
cp $fwlog $fwlog_store/firewall.log.$datum

# Zippen der Logdatei
gzip $fwlog_store/firewall.log.$datum

# Inhalt der Logdatei loeschen  
/bin/cat /dev/null > $fwlog

# Zuruecksetzen der IPFW Zaehler
$ipfw resetlog
$ipfw zero

Die Pfade in denen die IPFW logs liegen bitte entsprechend an die Pfade des Systems anpassen.

Um das Script regelmäßig laufen zu lassen, muss noch ein Eintrag in die /etc/crontab vorgenommen werden (auch hier, bitte die Zeit nach eigenem dafürhalten anpassen):
Code:
0       7       *       *       *       root    /usr/local/etc/fw_rotor.sh
Hier wird die Logdatei jeden Tag um 7:00 Uhr gesichert, gezippt, entleert und die Zähler von IPFW zurückgesetzt.
 
Auch wieder wahr...
Habe eben die manpage überflogen und mir fehlt die Möglichkeit die logs in bestimmte Verzeichnisse zu loggen.
So kann man newsyslog zwar die Option "-a" mitgeben, dabei wird aber global festgelegt in welches Verzeichnis die archivierten logs wandern sollen.
Eine selektive Auswahl fehlt mir, oder habe ich was übersehen?
 
Zurück
Oben