Logfile in Mysql?

J

joharrer

Jungspund
Guten Tag, liebe Linuxer,

Ich bin ein Neuling in Sachen Shell programmiren.

Ich möchte von einer Logdatei (mit syslog erstellt) die Einträge in eine Datenbank leiten.

Hab da volgenden Ansatz:

#! /bin/sh

tail -n1 zywall.log > n_1 # letzte Zeile der logdatei in n_1 schreiben.

while [ $l -le $d ]
do # Endlosschleife begin
e=`cat n_1` # Variable e mit Inhalt von n_1 schreiben
z=` tail -n1 zywall.log` # Var z mit letzter Zeile von logdatei schreiben
if [ "$e" != "$z" ]
then # wenn e ungleich z ( = neuer logeintrag)
cp n_1 n_2 # alten Eintrag (n_1) auf n_2 sichern
tail -n1 /usb1/var/log/zywall.log > n_1 # neue eintrag der Log nach n_1
fi
done


--------------------------------------

Bei jedem logeintrag wird die Datei namens n_2 angelegt.

Aber ....

es kann vorkommen, das da 3 Eintäge / Sec eintreffen.
Gibts da eine schneller möglichkeit?

Ich muß natürlich noch den Inhallt von n_2 "bearbeiten" und in Sql schreiben.
Danach wird n_2 gelöscht.

Gibts eine Möglichket das ganze in perl zu machen?
Ich denke mir, durch das schreiben der Datei hab ich doch mehr Zeitverlust als wenn das über eine Variable gemacht wird.



Danke für Eure Antwort,
L.G Jörg
 
hi!

einfach mal die board-suchfunktion mit dem begriff "syslog-ng" benutzten :]

willkommen bei unixboard :D
 
Danke für die Info,

Werd ma mal den syslog-ng anschaun.

Erst mal auf einer Suse maschine installieren,

hab auf meinem Suse-server Lotus-notes...., da läuft im mom syslogd

Und ich möchte keine bösen Überaschungen erleben.

Hoff da gibst keine Probs beim instalieren.

L.G Jörg
 

Ähnliche Themen

sed im script per crontab

Mysql connect Problem

faxen geht nicht mehr

Samba als PDC [Short-HOWTO]

Zurück
Oben