PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : qmail logs - best. Zeitraum "von" "bis" finden



meinereinerseiner
10-06-2005, 20:01
hallo,

...ich mal wieder.
diesmal gehts ums parsen von qmail logs, wo ich einen bestimmten zeitraum
suchen will.

mit tai64n2tai bekomme ich als timestamp schon mal die unixtime in die logs.
hab leider nix gefunden wie mir die bash ein beliebiges datum in den unixtime
stamp umrechnet, aber die ausgabe von 'date +"%s"' reicht auch erstmal.
so hab ich schonmal z.b. die end-time: 1118425656 und die start-time
kann ich ausrechnen, z.b. die 1118425575

so ein log sieht so aus:
1118425559.481039500 tcpserver: end 8437 status 0
1118425559.481046500 tcpserver: status: 1/30
1118425568.011221500 tcpserver: status: 2/30
1118425568.011228500 tcpserver: pid 8461 from 10.100.102.2
1118425568.011232500 tcpserver: ok 8461 ......
1118425569.915114500 tcpserver: end 8461 status 0
1118425569.915120500 tcpserver: status: 1/30
1118425575.604896500 tcpserver: end 8436 status 0
1118425575.604901500 tcpserver: status: 0/30
1118425656.679131500 tcpserver: status: 1/30
1118425656.679138500 tcpserver: pid 8561 from 127.0.0.1
1118425656.679421500 tcpserver: ok 8561 ......
1118425656.710933500 tcpserver: end 8561 status 0
1118425656.710940500 tcpserver: status: 0/30
1118425719.916927500 tcpserver: status: 1/30
1118425719.916933500 tcpserver: pid 8592 from 10.100.102.2
1118425719.918838500 tcpserver: ok 8592 .....
1118425720.351364500 tcpserver: end 8592 status 0
1118425720.351369500 tcpserver: status: 0/30

ein versuch mit sed (hab mal hier im forum gesucht):
sed -n "/1118425575/,/1118425656/p" < logfile

liefert aber nur:
1118425575.604896500 tcpserver: end 8436 status 0
1118425575.604901500 tcpserver: status: 0/30
1118425656.679131500 tcpserver: status: 1/30

weil er ja, sobald er die 1118425656 hat, sofort abbricht.

ein weiters problem ist, wenn es zum timestamp grade
keinen logeintrag gibt.
theoretisch sollte eine suche nach allem zwischen
1118425570 und 1118425657 das Ergebnis liefern:

1118425575.604896500 tcpserver: end 8436 status 0
1118425575.604901500 tcpserver: status: 0/30
1118425656.679131500 tcpserver: status: 1/30
1118425656.679138500 tcpserver: pid 8561 from 127.0.0.1
1118425656.679421500 tcpserver: ok 8561 ......
1118425656.710933500 tcpserver: end 8561 status 0
1118425656.710940500 tcpserver: status: 0/30

hat jemand einen tip, wie ich das lösen könnte?


vielen dank
der tom