ACCESS LOG von SQUID
Hallo Liste, Bin gerade dabei den access.log von squid zu analysieren. Ich gehe mal davon aus, dass das erste argument das datum ist. Es ist in einem sehr kommischen format naemlich nur eine Zahl ich glaube (laut man date) das ist secconds since 00:00:00, Jan 1, 1970 Nun meine frage wie kann ich diese Zahl in ein anstaendiges datum umwandeln. Gehen wir davon aus ich habe den wert schon in einer variable stehen. Wie gehe ich dan weiter vor? Danke fuer jede Hilfe Martin -- Mit freundlichen Grüßen, .~. Open Minds. with best regards /V\ Open Sources. // \\ Open Future! Martin Wielander /( )\ L I N U X ^ ~ ^
Hi, * On Monday, February 26, 2001 at 17:41, Martin Wielander wrote:
Bin gerade dabei den access.log von squid zu analysieren. Ich gehe mal davon aus, dass das erste argument das datum ist. Es ist in einem sehr kommischen format naemlich nur eine Zahl ich glaube (laut man date) das ist secconds since 00:00:00, Jan 1, 1970
Nun meine frage wie kann ich diese Zahl in ein anstaendiges datum umwandeln. Gehen wir davon aus ich habe den wert schon in einer variable stehen. Wie gehe ich dan weiter vor?
----squid_reform.pl---- #! /usr/bin/perl while (<>) { /^(\d*)\.\d*\s*(.*)/; ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($1); $year += 1900; print "$mday.$mon.$year $hour:$min:$sec $2\n" } ----------------------- cat access.log | perl squid_reform.pl > access.log.lesbar Adalbert
Hi, *Von: Adalbert Michelic Gesendet: Montag, 26. Februar 2001 18:55
* On Monday, February 26, 2001 at 17:41, Martin Wielander wrote:
Bin gerade dabei den access.log von squid zu analysieren. Ich gehe mal davon aus, dass das erste argument das datum ist. Es ist in einem sehr kommischen format naemlich nur eine Zahl ich glaube (laut man date) das ist secconds since 00:00:00, Jan 1, 1970
Nun meine frage wie kann ich diese Zahl in ein anstaendiges datum umwandeln. Gehen wir davon aus ich habe den wert schon in einer variable stehen. Wie gehe ich dan weiter vor?
----squid_reform.pl---- #! /usr/bin/perl
while (<>) { /^(\d*)\.\d*\s*(.*)/; ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($1); $year += 1900; print "$mday.$mon.$year $hour:$min:$sec $2\n" } -----------------------
cat access.log | perl squid_reform.pl > access.log.lesbar
Super danke funktioniert hervorragend, ich glaube jedoch in deinen skript versteckt sich ein kleiner Fehler. Wenn ich das datum umsetzte bekomme ich beim Monat immer den wert 1. also Jaenner obwohl wir Februar haben und die Uhrzeit auf meinem Rechner stimmt. Grueze Martin
On Mon, Feb 26, 2001 at 06:55:25 +0100, Adalbert Michelic wrote: [Sekunden umrechnen]
----squid_reform.pl---- #! /usr/bin/perl
while (<>) { /^(\d*)\.\d*\s*(.*)/; ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($1); $year += 1900; print "$mday.$mon.$year $hour:$min:$sec $2\n" ^^^^ muss da nicht $mon + 1 hin? ^^^^^ und sollte hier nicht $isdst addiert werden, um die Sommerzeit zu berücksichtigen? } -----------------------
cat access.log | perl squid_reform.pl > access.log.lesbar
Jan
Hi, * On Monday, February 26, 2001 at 21:11, Jan Trippler wrote:
On Mon, Feb 26, 2001 at 06:55:25 +0100, Adalbert Michelic wrote: [Sekunden umrechnen]
----squid_reform.pl---- #! /usr/bin/perl
while (<>) { /^(\d*)\.\d*\s*(.*)/; ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($1); $year += 1900; print "$mday.$mon.$year $hour:$min:$sec $2\n" ^^^^ muss da nicht $mon + 1 hin? ^^^^^ und sollte hier nicht $isdst addiert werden, um die Sommerzeit zu berücksichtigen?
Möglicherweise - dieses Skript ist eine 2min quick-and-dirty Lösung, die ich mal für einen Freund gebraucht habe; nachdem einigermaßen plausible Angaben rausgekommen sind, habe ich mich nicht mehr näher damit beschäftigt :-) Adalbert
participants (3)
-
Adalbert Michelic
-
Jan.Trippler@t-online.de
-
Martin Wielander