barrierefreies Webdesign Ingo Turski

zum Inhalt

Ingo

Tips und Tricks:Auswertung der Apache access.log-Dateien

Der Apache-Server schreibt die HTTP-Anforderungen auf meinem Webspace in eine täglich neu erstellte Datei sowie mit GZip komprimierte (und z.B. mit WinGZ zu dekomprimierende) Tages- und Wochen­zusammen­fassungen. Da in dem günstigen Angebot meines Providers leider keine Statistik mehr enthalten ist und weil mich außer der oberflächlichen Zusammenstellung der wichtigsten Daten eine detaillierte Auswertung interessiert, habe ich mir ein eigenes Programm geschrieben, welches ich hier zur Verfügung stelle:

AccessInfo.exe v3.9 (Windows, 96.256 Byte)
AccessInfo.exe.manifest (Windows XP Styles, 646 Byte)

Access2008.exe v3 (MS-DOS, 15.360 Byte)
Logdateien nach Domains splitten und/oder zu Monatsdateien zusammenfügen.

Was ist neu? [ Fordern Sie Benachrichtigungen über Aktualisierungen per E-Mail an!]
V 3.9: Browser-, Suchmaschinen- und IP-Aktualisierungen (+Arcor), 1280*960-Support.
BATch-Programm zur Erstellung einer Monatsdatei aus den TagesLogs (von all-inkl.com).
V 3.8: Anzeige der IP eines aus der Filteransicht anzugebenden Eintrages.
V 3.7: Erweiterte Suchmasken; zusätzliche IPs, Robot- und Browserkennungen.
V 3.6: Ausschluß der Dateifilter bei Fehlerode; Anzeige von Google- und MSN-IPs.
V 3.5: Komplette Filteransicht großer Dateien; Anzeige von Telekom- und Isis-Usern.
V 3.4: Zusammenführung der Zugriffe von Besuchern mit wechselnden IPs.
V 3.3: Browserkennung mit Bildschirmbreite; Dateiname im Fenstertitel; neuer Compiler.
V 3.2: Angabe beliebiger zu filternder Zeichenketten; Standardfilter '/access-js1.gif*'.
V 3.1: Informationen über JavaScript und Grafikanzeige (siehe Programmfunktionen).
V 3.0: Korrektur bei der IP-Sperre; kleiner Infotext nach dem Einlesen einer Datei.
V 2.9: Erweiterung der 'Filter'-Anzeige mit 'Suchbegriff' auf Browser und Referrer.
V 2.8: Exakte Suche eines angeforderten Verzeichnisses über den 'Suchbegriff' (/DIR/).
V 2.7: Ausgabe der »Top20 Einstiegsseiten«; weitere Robotkennung.
V 2.6: Ausgabe der »Hits« und »PageImpressions« unter 'Seiten'.
V 2.5: Dateiauswahl startet im Programmverzeichnis; Code-Optimierungen.
V 2.4: Auflistung der verweisenden Rechner (nur der Domains) unter 'Referrer'.
V 2.3: Robots erweitert; IP-Sperre auf 30 Minuten reduziert (siehe Definitionen).
V 2.2: Anzeige der W3C Validator-Zugriffe; verschiedene Code-Optimierungen.
V 2.1: Angabe der maximal einzulesenden Zeilen (nach verfügbarem Speicher).
V 2.0: Erweiterung und Korrektur der Info-Zeile.
BATch-Programm zur Verwaltung der access.log-Dateien speziell für 1&1-Kunden.
V 1.9: Programmaufruf mit Dateiname als Parameter startet 'Filtern'-Funktion.
V 1.8: Rubrik »unvollständige Übertragung (#206)« unter 'Fehler' hinzugefügt.
V 1.7: Prozentuale Zusammenfassung der wichtigsten Browser(gruppen) hinzugefügt.
V 1.6: Markierung der aktuellen Anzeige im Menü zur besseren Übersicht.
V 1.5: Optionale Filterung eines Anforderungsparameters (SessionID).
V 1.4: »Traffic«-Anzeige; Summenanzeige der Treffer bei Filterung mit Suchbegriff.
V 1.3: Neue Funktion 'Suchbegriff' zur weiteren Eingrenzung der Anzeigen.
V 1.2: Angabe der von Besuchern mit IE gesetzten Favoriten; schnelleres Einlesen.
V 1.1: Fortschrittsanzeige; neuer Name, da es ein bekanntes Programm 'AccessLog' gibt.
V 1.0: Google-Anzeige optimiert; Summierung der 'Browser' als Besucherzähler.

Dieses Programm ist Freeware und darf ohne Einschränkungen verwendet, kopiert und zum Download (unter Angabe des Autors und mit einem Link auf diese Seite) angeboten werden. Die Nutzung des Programms erfolgt auf eigenes Risiko.
Da das Programm nur eine geringe Fehlertoleranz bezüglich der einzulesenden Daten besitzt, kann eine korrekte Ausführung nicht garantiert und keine Haftung für evtl. Schäden übernommen werden. Ich habe das Programm jedoch ausgiebig getestet und bin bestrebt, mögliche Fehler zu korrigieren - daher bitte ich, mir auftretende Programmfehler möglichst detailliert mitzuteilen.

Es sollten ausschließlich Apache Logfiles mit diesem Programm bearbeitet werden. Falls Ihre Logfiles Einträge aus mehreren Domains enthalten, splitten sie diese bitte zunächst.
Da die Daten komplett eingelesen werden, ist etwas mehr freier Speicher als die Dateigröße des Logfiles erforderlich. In der Grundeinstellung werden maximal 500.000 Zeilen bearbeitet, was bei durchschnittlichen Einträgen einem Logfile von über 100 MB entspricht. Bei vielfachem Aufruf sehr großer Logfiles ist es sinnvoll, das Programm zwischendurch zu beenden, damit der zwar relativ geringe, aber wachsende Overhead an Variablenspeicher freigegeben werden kann.

Wozu überhaupt ein weiteres Programm zur Analyse von Apache Logfiles? Ich habe mir einige Programme angesehen, die zwar mehr oder weniger detaillierte Statistiken liefern, aber keine genauen Einblicke in das Surfverhalten der Besucher ermöglichen. Ich möchte jedoch den Weg der Besucher durch die Seiten nachvollziehen können. Die Logfiles selbst sind hierzu wenig geeignet, da sie recht unübersichtlich sind und die Anforderungen von Grafiken oder CSS-Dateien hierbei stören. Bei mehreren Besuchern zur gleichen Zeit kommt das Problem hinzu, daß die Anforderungen des einzelnen Besuchers nicht direkt hintereinander aufgelistet sind. Die Hauptfunktion meines Programms ist nun das Filtern der irrelevanten Datei-Anforderungen sowie die übersichtliche und zusammenhängende Anzeige der Anforderungen jedes Besuchers, wobei Zugriffe mit wechselnden IPs identifiziert und zusammengeführt werden können.
Darüber hinaus stellt mein Programm weitere interessante Informationen bereit wie die in Google eingegebenen Suchbegriffe oder die Angabe der von Besuchern mit dem Internet Explorer gesetzten Favoriten. Ein weitere sehr spezielle Funktion ist das Filtern der Anzeigen mit einem Suchbegriff. Hiermit kann ich mich z.B. nicht nur informieren, wer diese Seite oder das Programm angefordert hat, sondern in der Filter-Ansicht darüber hinaus auf einen Blick sehen, woher die an diesem Programm interessierten Besucher kamen (natürlich nur, wenn der Referrer angegeben wurde) und ggfls. ihren Weg durch meine übrigen Seiten nachvollziehen.

Einen kleinen Einblick in das Programm mögen die Auszüge meiner Statistik geben.

Programmfunktionen

Der Programmaufruf erfolgt ohne Parameter oder mit Angabe eines Dateinamens.

Beim Einlesen einer Log-Datei wird jeder Eintrag auf die HTTP-Entity überprüft. Es werden nur die folgenden (lesenden) Methoden berücksichtigt:

GET | HEAD | OPTIONS | POST |   PROPFIND | PROPPATCH

Andere Einträge werden einzeln gemeldet; in diesem Fall können weitere Meldungen bestätigt oder unterdrückt oder das Einlesen abgebrochen werden. Der Anfang der Datei wird dann zur Kontrolle angezeigt, sofern beim Programmaufruf kein Parameter übergeben wurde - andernfalls startet automatisch die Funktion 'Filtern'. Diese entfernt in der Standardeinstellung alle Anforderungen, die mit Statuscode 200 oder 304 quittiert wurden und den folgenden Suchmasken entsprechen:

*.css
*.js
*.ico
*.jpg
*.png
*.gif
/access-js1.gif*
/robots.txt
/_vti_*
/MSOffice/*

Sie können eine Datei 'AccessInfo.ini' im aktuellen Programmverzeichnis mit bis zu 500 Datei(mask)en dieser Art anlegen, die gefiltert werden sollen. Es kann sinnvoll sein, nicht alle Grafiken pauschal herausfiltern zu lassen, um festzustellen, in welchem Maße besonders große Grafiken nicht komplett übertragen werden.

Zusätzlich können Sie hier mit vorangestelltem "?" einen Parameter bestimmen, der aus den Seitenanforderungen herauszufilternden ist; tragen Sie z.B. "?PHPSESSIONID=" an, so werden "?PHPSESSIONID=" bzw. "&PHPSESSIONID=" sowie alle hierauf folgenden Zeichen aus den Seitenanforderungen entfernt (nicht jedoch die Anforderungen selbst).

Außerdem können Sie die maximale Anzahl der einzulesenden Zeilen abweichend von den voreingestellten 500.000 entsprechend dem zur Verfügung stehenden Speicher festlegen. Dies kann besonders bei älteren Betriebssystemen wie Windows 98 erforderlich sein. Tragen Sie hierzu in einer Zeile "#10" für 10.000 bis "#1000" für 1 Millionen Zeilen ein.

Sie haben ferner die Möglichkeit, über vorangestellte "!" bis zu 50 verschiedene zu filternde Zeichenketten einzutragen. Dieser Filter berücksichtigt bereits beim Einlesen die kompletten Logfile-Zeilen und ist case-sensitive. Sie können hiermit also z.B. bestimmte IPs oder UserAgents herausfiltern und von der weiteren Bearbeitung ausschließen. Gedacht ist diese Option hauptsächlich zum Filtern eigener Zugriffe (mit statischer IP oder manipulierter UserAgent-Kennung).

Um die Zusammenführung der Zugriffe von Besuchern mit wechselnden IPs zu aktivieren, muß dem Programm die eigene Domain mitgeteilt werden. Sie können hierzu bis zu 5 Domains mit vorangestelltem 'http://' eintragen.

Über die folgende 'AccessInfo.ini' Beispiel-Datei können Sie z.B.
- alle Zugriffe auf CSS- und JPG-Dateien sowie das Verzeichnis /logs/ filtern,
- eine mit »sid=« gekennzeichnete SessionID aus den Dateinamen extrahieren,
- die maximale Anzahl der einzulesenden Zeilen auf 250.000 begrenzen,
- eigene Zugriffe über »; meine erweiterte UserAgent-Kennung)"« ausschließen und
- wechselnde IPs für »http://www.1ngo.de« oder »http://1ngo.de/« zusammenführen:

*.css
*.jpg
/logs/*
?sid=
#250
!; meine erweiterte UserAgent-Kennung)"
http://www.1ngo.de
http://1ngo.de/

Es ist sinnvoll, das Programm und die individuell angepaßte Initialisierungsdatei in das/die Verzeichnis/se zu kopieren, in denen die Logfiles sich befinden. Das Programm verwendet ausschließlich diese Initialisierungsdatei sowie (falls im selben Verzeichnis vorhanden) die 'AccessInfo.exe.manifest' zur Aktivierung der Windows XP-Styles und legt weder in der Registry noch im Systemverzeichnis Daten ab.

Nach dem Filtern werden die verbleibenden Einträge zwar platzsparend aber doch noch übersichtlich angezeigt. Hierbei wird die Chronologie der Einträge insofern durchbrochen, als daß die Anforderungen den IPs zugeordnet ausgegeben werden, was das Surfverhalten der Besucher leichter nachvollziehbar macht. IP-Wechsel werden durch '*' statt ':' in den Zeitangaben kenntlich gemacht. Zur besseren Übersichtlichkeit werden 200er Codes (OK) nicht angezeigt und wiederholte Anfragen ausgeblendet.
Diese Ansicht kann man speichern inklusive der aus Speicherplatzgründen evtl. nicht mehr angezeigten Einträge.

Es können nun die folgenden nach Häufigkeit sortierten Statistiken angezeigt werden:

'Seiten': Traffic und ausgelieferte Seiten - welche Seiten werden wie häufig aufgerufen?
'Fehler': fehlerhafte Anfragen - 'nicht gefunden', 'verschoben', 'unvollständige Übertragung' (Ladezeit zu lang?) und sonstige Fehler.
'Referrer': übermittelte Referrer - woher kommen die Besucher?
'google': in google eingegebene Suchwörter - aufschlußreich!
'Browser': Browser- und Suchmaschinenkennungen - inklusive der Browsergenerationen und Angabe der Besucher über Telekom- und ISIS-IPs (dem größten deutschen und [m]einem kleinen Provider) sowie ggfls. Zusatzinformationen (s.u.).
'Suchbegriff': Eingabe einer Zeichenkette bzw. Deaktivierung dieser Funktion zur weiteren Filterung aller Anzeigen; berücksichtigt werden die angeforderten Seiten und Angaben zum Refferrer und User-Agent. Siehe auch die Tips weiter unten.

Die Auswertung der Besucher mit aktiviertem JavaScript sowie die Anzahl der IPs, die Grafiken neu geladen haben (was in etwa den neuen Besuchern entsprechen dürfte), erfordert Ihre Mitwirkung. Wenn Sie diese zusätzlichen Informationen gewinnen möchten, binden Sie hierzu zwei bestimmte Grafiken auf möglichst allen Seiten wie folgt ein (die <div>s sind nur für valide XHTML/Strict-Syntax erforderlich und bewirken einen Zeilenumbruch, den Sie ggfls. über CSS mit display:inline vermeiden können):

<div>
<script type="text/javascript">
document.write('<img src="/access-js1.gif?'+document.body.offsetWidth+'" alt="" \/>');
</script>
<noscript><div><img src="/access-js0.gif" alt="" /></div></noscript>
</div>

Wichtig sind hierbei unter diesen Namen im Hauptverzeichnis referenzierten GIF-Dateien, wobei es sich um winzige transparente oder auch um tatsächlich sichtbare und eine Funktion erfüllende Grafiken wie bei diesen Seiten unten das I handeln kann.
Werden bei der Auswertung diese mit Statuscode 200 (OK) übertragenen Grafiken verzeichnet, gibt das Programm die Anzahl der anfordernden Rechner (mit einer Wiederholungssperre von 10 IPs) an. Nur wenn von einer IP ausschließlich die 'noscript'-Grafik geladen wurde, wird dies auch prozentual als 'kein JavaScript' angezeigt.
Der optionale orange Code ermöglicht die Auswertung der Fensterbreiten.
Falls Sie nur an der Information über neu übertragene Grafiken interessiert sind, reicht hierzu natürlich auch eine einfache Einbindung der Datei "/access-js1.gif" aus.

Tips zur 'Suchbegriff'-Funktion

Nutzen Sie diese Funktion, um bestimmte Informationen zu selektieren. Ein paar Beispiele:

Slurp; -> Spiderzugriffe des Inktomi (Yahoo!) Robots in der Filter- und Browseransicht.
linux -> Besucher mit dem Betriebssystem Linux in der Filter- und Browseransicht.
?js -> Besucher ohne JavaScript in der Filter- und Browseransicht.
?1005 -> Besucher mit einer Fensterbreite von 1005px.
*t -> Besucher über einen IP-Bereich der Deutschen Telekom AG.
*g -> Spiderzugriffe des Google Robots in der Filter- und Browseransicht.
apache -> Suchmaschineneingabe 'Apache' in der Filter-, Referrer- und Google-Ansicht.
access.log.html -> Zugriffe auf diese Datei in der Filter- und Seiten-Ansicht.

Eine mit "/", "!" oder ">" beginnende Suchmaske aktiviert in der Filteransicht die exakte Suche nach einer angeforderten URL, wobei "!" und ">" zusätzliche Funktionen haben:

/web/ -> Zugriffe nur auf dieses Verzeichnis (ohne Angabe eines Dateinamens).
/index.html -> Anfragen auf die Datei "index.html" im Hauptverzeichnis.
/ -> Anfragen nur auf die Domain (ohne Angabe eines Dateinamens).
!/kannichsein.html -> mit Fehlercode quittierte Anfrage auf die Datei "/kannichsein.html".
>/web/access.log.html -> Zugriffe auf diese Datei als Einstiegsseite.

Um eine bestimmte IP zu erfahren, kopieren Sie aus der Filtern-Ansicht die Nummer vor dem UserAgent mit dem nachfolgenem ':' in die Suchmaske. In diesem speziellen Fall wird nicht die Suchfunktion aktiviert, sondern die IP angezeigt.

Rückmeldungen und Anregungen zur weiteren Programmentwicklung sind gern gesehen.


Definitionen der ausgewerteten Daten

Hits: Die Anzahl der angeforderten Dateien entspricht den eingelesenen Zeilen des Logfiles und wird unter 'Seiten' ausgegeben.
Traffic: Das Transfervolumen aller übertragener Daten inklusive der später herausgefilterten Dateien wird beim Einlesen ermittelt und unter 'Seiten' ausgegeben.
PageImpressions: Die hierzu unter 'Seiten' angegebene Anzahl entspricht den (gefilterten) tatsächlich abgerufenen und mit Statuscode 200 vollständig übertragenen Seiten sowie den mit Statuscode 304 (nicht geändert) quittierten Anforderungen. Sofern bis auf die tatsächlichen Inhaltsseiten alle übrigen Dateien (Bilder, Framesets etc.) herausgefiltert (und diese komplett übertragen) wurden, sollten die vollständig angezeigten Seiten hierdurch zu ermitteln sein. Unter 'ausgelieferte Seiten' werden nur die mit Statuscode 200 übertragenen oder erstmalig mit 304 quittierten Anforderungen berücksichtigt.
Visits: Ein Besuch gilt nach den Richtlinien der deutschen Werbewirtschaft als beendet, wenn 30 Minuten lang kein Element mehr aufgerufen wurde. Dementsprechend werden später erfolgende Zugriffe derselben IP als neuer 'Rechner' in der Infozeile aufgezählt und in der Filteransicht getrennt angezeigt. Die Anzahl der 'Browser' entspricht diesem Wert abzüglich der erkannten Robots und Validatorzugriffe und sollte die wirkliche Besucherzahl wiedergeben. Daß Besucher, die nach mehr als 30 Minuten Pause erneut Seiten abrufen, doppelt gezählt werden, läßt sich kaum vermeiden, da IPs dynamisch vergeben werden und spätere Zugriffe derselben IP auch von einem anderen Besucher erfolgt sein könnten.


Erstellung einer Monatsdatei aus den TagesLogs von all-inkl.com

All-inkl.com speichert alle Zugriffe eines Tages im Verzeichnis /logs unter einem Namen nach dem Schema 'access_log_JJJJ-MM-TT.gz'. Um diese zu einer Monatsdatei zusammenzufassen behelfe ich mir derzeit noch mit diesem kleinen BATch-Programm:

Dateiname: 2006.BAT

@echo off
if %1.==01. goto Monat
if %1.==02. goto Monat
if %1.==03. goto Monat
if %1.==04. goto Monat
if %1.==05. goto Monat
if %1.==06. goto Monat
if %1.==07. goto Monat
if %1.==08. goto Monat
if %1.==09. goto Monat
if %1.==10. goto Monat
if %1.==11. goto Monat
if %1.==12. goto Monat
goto Directory
:Monat
if not %2.==. goto Kopieren
if exist access_log_2006-%1.log del access_log_2006-%1.log
for %%t in (01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31) do call 2006.bat %1 %%t
:Directory
echo.
dir access_log_2006-%1*.*
goto Ende
:Kopieren
if exist access_log_2006-%1-%2. goto Weiter
if not exist access_log_2006-%1-%2.gz goto Ende
win-gz.exe access_log_2006-%1-%2.gz
:Weiter
type access_log_2006-%1-%2. >>access_log_2006-%1.log
if %1.==02. if %2.==28. goto Loeschen
if %1.==04. if %2.==30. goto Loeschen
if %1.==06. if %2.==30. goto Loeschen
if %1.==09. if %2.==30. goto Loeschen
if %1.==11. if %2.==30. goto Loeschen
if not %2.==31. goto Ende
:Loeschen
echo dekomprimierte TagesLogs des kompletten %1. Monats loeschen !?
echo --- Abbruch mit Strg-C ---
pause
del access_log_2006-%1-??.
:Ende

Falls das Programm win-gz.exe nicht zur Verfügung steht, tragen Sie hier ein anderes Programm ein oder dekomprimieren die '*.gz'-Dateien zuvor manuell.

Das BATch-Programm wird mit einer zweistellig anzugebenen Monatszahl aufgerufen und fügt die vorhandenen Dateien dieses Monats zusammen. Am Monatsende werden die dekomprimierten Tagesdateien nach einer Sicherheitsabfrage gelöscht.


Tips zu den access.log-Dateien bei 1&1

Der größte deutsche Provider 1&1 speichert alle Zugriffe in einem Verzeichnis /logs unter folgenden Dateinamen:

Hierbei steht KW für die Kalenderwoche (01 bis 53) und T für den Wochentag (1 bis 7).

Zur Übertragung der LogDateien ist kein FTP-Zugriff erforderlich. Über ein Lesezeichen auf '/logs/access.log.' ruft man eine Liste der zur Verfügung stehenden LogDateien ab und kann diese über das Kontextmenü 'Ziel speichern unter...' auf seinen Rechner kopieren, wobei die aktuelle ASCII-Datei vom Internet Explorer die Erweiterung '.txt' erhält. Über ein JavaScript kann auch ein Link auf die aktuelle und die gestrige Datei generiert werden.

Zum Zusammenkopieren der bisher gespeicherten Tages-LogDateien bzw. zum Löschen dieser Dateien, sobald die Wochen-LogDatei gespeichert ist, können Sie das folgende BATch-Programm verwenden. Falls das Programm win-gz.exe nicht zur Verfügung steht, dekomprimieren Sie zunächst die '*.gz'-Dateien und löschen die orangen Zeilen aus dem Programm.

Dateiname: AD.BAT

@echo off
if %1.==. goto Directory
if %1==1 goto Tag
if %1==2 goto Tag
if %1==3 goto Tag
if %1==4 goto Tag
if %1==5 goto Tag
if %1==6 goto Tag
if %1==7 goto Tag
if exist access.log.%1.gz win-gz access.log.%1.gz
if not exist access.log.%1 goto Kopieren

echo.
echo access.log.%1 ist vorhanden.
echo access.log.%1.txt und TagesLogs der %1. Kalenderwoche loeschen !?
echo --- Abbruch mit Strg-C ---
pause
if exist access.log.%1.txt del access.log.%1.txt
for %%t in (1 2 3 4 5 6 7) do if exist access.log.%1.%%t del access.log.%1.%%t
for %%t in (1 2 3 4 5 6 7) do if exist access.log.%1.%%t.txt del access.log.%1.%%t.txt
for %%t in (1 2 3 4 5 6 7) do if exist access.log.%1.%%t.gz del access.log.%1.%%t.gz
goto Directory

:Kopieren
if exist access.log.%1.txt del access.log.%1.txt
for %%t in (1 2 3 4 5 6 7) do call ad.bat %%t %1
goto Directory

:Tag
if exist access.log.%2.%1 goto Next
if not exist access.log.%2.%1.gz goto Txt
win-gz access.log.%2.%1.gz
if not exist access.log.%2.%1 goto Txt
del access.log.%2.%1.gz
goto Next
:Txt
if exist access.log.%2.%1.txt type access.log.%2.%1.txt >>access.log.%2.txt
goto Ende
:Next
type access.log.%2.%1 >>access.log.%2.txt
if exist access.log.%2.%1.txt del access.log.%2.%1.txt
goto Ende

:Directory
echo.
if %1.==. dir access.log.*
if not %1.==. dir access.log.%1.*
echo.
if %1.==. goto Ende
if exist access.log.%1.txt AccessInfo access.log.%1.txt
:Ende

Beim Aufruf von AD.BAT ohne Parameter werden die access.log-Dateien nur angezeigt. Ansonsten wird als Parameter die KalenderWoche im Format '01' bis '53' erwartet.
Sofern die vollständige Wochen-LogDatei 'access.log.KW' vorhanden ist, werden nach einer Sicherheitsabfrage für den evtl. Programm-Abbruch die entsprechenden Tages-LogDateien und die bisherige zusammenkopierte Datei gelöscht.
Ansonsten werden die vorhandenen Tages-LogDateien in der Datei 'access.log.KW.txt' zusammengefügt, wobei Dateien ohne die Erweiterung '.txt' Vorzug gegeben und im Fall des Vorhandenseins gleichnamige Dateien mit der Erweiterung '.txt' gelöscht werden; hierbei wird davon ausgegangen, daß lediglich die aktuelle und noch unvollständige TagesLogdatei die Erweiterung '.txt' erhalten hat.
Zum Schluß werden die LogDateien der angegebenen Kalenderwoche kurz angezeigt und direkt das Programm AccessInfo.exe mit der erstellten Sammeldatei 'access.log.KW.txt' als übergebenen Parameter gestartet.

Es ist sinnvoll, AD.BAT und AccessInfo.exe in das Verzeichnis der LogDateien zu kopieren.


Logdateien nach Domains splitten und/oder zu Monatsdateien zusammenfügen

Mein kleines MS-DOS Tool Access2005.exe ermöglicht zum einen, Sammeldateien mit Einträgen verschiedener Domains aufzuteilen. Um z.B. aus einer Datei 'access.log' alle Einträge meiner Domain zu extrahieren, ist das Tool wie folgt aufzurufen:
Access2005 access.log 1ngo.de www.1ngo.de

Es können gefolgt auf den Namen der einzulesenden Datei bis zu 10 Domains übergeben werden. Der Name der Zieldatei setzt sich zusammen aus der ersten angegebenen Domain und dem Namen der Quelldatei, in diesem Beispiel würde sie also benannt als '1ngo.de-access.log'.

Zum Zusammenfügen von Wochen- und ggfls. Tagesdateien, die wie oben beschrieben von 1&1-Servern angelegt und benannt sind, dient die zweite Funktion meines Tools. Um z.B. die Dateien für Januar 2005 zusammenzufassen lautet der Programmaufruf schlicht:
Access2005 1

Es werden dann die Dateien 'access.log.53' bis 'access.log.5' bzw. 'access.log.5.1' eingelesen und deren Januar-Einträge in die Datei 'Access2005-01.log' geschrieben.
Diese Funktion kann auch mit der ersten kombiniert werden; für dieses Beispiel über:
Access2005 1 1ngo.de www.1ngo.de

Da nach den passenden Wochendateien ggfls. noch folgende Tagesdateien eingelesen werden, können auch unvollständig erfaßte Monate zusammengeführt werden.
Zur Kontrolle wird das Datum des ersten und letzten kopierten Eintrages angezeigt.

Die Nutzung dieses Tools erfolgt ebenfalls auf eigenes Risiko.