Apache Logsplitter
Splittet Logdateien für einzelne VirtualHosts auf, jeden Tag eine neue Logdatei
Mit dem Apache Logsplitter kann man den Apache so umstellen, das dieser nur noch eine Logdatei (access.log) anlegt, anstatt für jeden VirtualHost eine eigene Logdatei. Das hat den Vorteil, das nur noch in einer Datei geschrieben werden muß und somit der Server wieder weniger offene Dateien hat.
Die Anpassungen des Apache halten sich in Grenzen, es muß lediglich das LogFormat geändert und cronolog installiert werden.
Das einzige Manko ist, das die Home-Verzeichnisse genau wie die Domain heißen müssen, also wenn die Domain www.undef.de
lautet, dann muß das Verzeichnisse des Users /[pfad]/undef.de lauten.
Features
- Extrahiert von
cronologangelegte Logdateien für jedenServerName - Für jeden
ServerNamekann der Archiver in einer CSV-Datei eingestellt werden (ZIP, TAR usw.) sowie ein Alias um für dieServerNamedie keinDocumentRoothaben auf einen anderenServerNamezu verweisen. - Die extrahierten Logdateien werden gepackt in das Heimatverzeichnis des
ServerNamegespeichert. - Als Standardarchiver für die Benutzer wird
zipgenutzt, falls der in derHOST_PACKER_DBnicht vorhanden sein sollte. Als Standardarchiver für den Hostmaster, wirdtarundgzipbenutzt. - Logdateien werden erst dann bearbeitet, wenn in diesen nicht mehr geschrieben wird (also erst am nächsten Tag ;).
- ServerName-Mapping: Wenn ein
ServerNamenur als Redirect zu einem anderem ServerName dient. Zum Beispiel: www.rpv.net wird auf www.rpv.de geleitet und für www.rpv.net ist kein Benutzerverzeichnis vorhanden, daher werden alle Einträge in die Logdatei von www.rpv.de gelegt. - Wenn ein
~/nicht existiert, dann werden Einträge als der Logdatei inNO_HOME_DIR_LOGDIRabgelegt, wenn nicht inNO_HOMEDIR_HOST_MAP_DBeine andere Anweisung steht.DATE_FORMATwird an das Archiv angehängt. Sollten die Verzeichnisse nicht vorhanden sein, werden diese automatisch angelegt und mit eingestellten Rechten versehen. - Datumsformat der gepackten Logdateien kann nach belieben verändert werden.
- Ändert das Datum der letzten Änderung und Öffnung der Logdatei und das Archiv auf das Datum, an dem
cronologzuletzt in der Logdatei geschrieben hat. - Kann auch mehrmals am Tag ausgeführt werden, es werden nur Logdateien bearbeitet, die nicht in Benutzung sind.
- Falls einmal vergessen wurde
Apache Logsplitterauszuführen, arbeitetApache Logsplitteralle noch nicht bearbeiteten Logdateien nachträglich ab. - Vorhandene Archivdateien werden automatisch überschrieben, falls einmal eine Logdatei nochmals abgearbeitet werden soll.
- Für nicht vorhandene Benutzer, wird automatisch der Benutzer
rooteingesetzt.
Requires
- Perl/5.6.0
- Time::Hires/1.20
- cronolog/1.6.1
Installation
Das Archiv entpacken und per FTP im ASC-II-Modus in ein Verzeichnis übertragen,
dann noch mit chmod 700 als ausführbar markieren und mit chown root.root
nur für root ausführbar machen.
Dann alsatc.pl editieren und die Pfade ändern. Damit Apache Logsplitter einmal am Tag läuft, empfiehlt es sich
einen Eintrag in der /etc/crontab zu machen:
- echo "* 2 * * * root [PATH]/alsatc.pl" >> /etc/crontab
Download
| File | Date | Size |
|---|---|---|
| alsatc-1.00.tar.gz MD5 checksum: b051cc566066502f45f1ce5cea5196d0 |
01.01.2008 02:17:26 | 6.475 bytes |
| alsatc-1.00.zip MD5 checksum: 5c8e3ec4a0baa6c08f9c64d7f74297d9 |
01.01.2008 02:17:26 | 6.808 bytes |


