Am Sonntag, 12. Oktober 2003 10:47 schrieb Hubert Thyen:
ich habe folgendes Problem: Da webalizer mit logfiles > 2GB nicht läuft habe ich awstats installiert. awstats parsed nun auch logfiles > 2 GB. Um die Ergebnisse zu kontrollieren habe ich mir ein kleines awk-Skript geschrieben, welches mir die Summe des http-Traffic im Monat ausgibt, jedoch habe ich eine Differenz von fast Faktor 2 (awstats: 35GB, awk: 70GB)
höher als mir awstats anzeigt, wie kann das ? Bei anderen Domains mit wesentlich niedrigerem Traffic stimmt awstats und awk überein ! Bei anderen Domains mit logfiles < 2GB stimmen webalizer und awstats überein, jedoch hat awk wieder eine Differenz.
Hier das awk-Skript: cat /var/log/httpd/httpd.access_log | grep "\/Sep\/" | awk '{if ($9==200){ sum+=$10; }}END{print sum}'
$9 ist der http-Status (200=OK) und $10 ist der Traffic
Hast Du Dir mal die apache-Logzeilen angeschaut, ob da evtl. doppelte Einträge vorkommen oder ob Dein grep evtl. auch andere als die September-Einträge findet? BTW: Du kannst Dir 2 Pipes sparen (wir sind mal wieder beim *useless use of cat award* ;) und sogar die Selektion der Einträge schärfer gestalten: awk ' $4 ~ /\/Sep\// && $9 == 200 { sum += $10 } END { print sum } ' /var/log/httpd/httpd.access_log Jan