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
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