Apache Log Fileok (mod_log_rotate)

Végre találtam egy elegáns megoldást az Apache log fájljainak kordában tartásához. Az egyik lehetőség ugyebár az, hogy leállítjuk a szervert, átmásolgatjuk kézzel a log fájlokat egy archív mappába és aztán újraindítjuk az apacheot. Másik lehetőség a rotatelog vagy cronlog apró kis progik használata, melyek az imént felvázolt folyamatot helyettünk, időzítve végzik el. Azonban most találtam egy windows alá is lefordított natív apache modult amit csak fel kell telepítenünk, majd a megfelelő config fájlokban egy-egy sort beszúrnunk és már teszi is a dolgát. Mégpedig az apache szerver időnkénti leállítása nélkül!

A neve: Hexten Mod-Log-Rotate.

Infó és letöltés itt: Hexten wiki

Telepítés windowsra (ez a wikiben nincs leírva, bár sokban nem különbözik a *nix változatétól):

1. Másold a mod_log_rotate.so fájlt az apache/modules/ könyvtárba a többi modul közé.

2. A httpd.conf fájlba másold be a következő sorokat:

LoadModule log_rotate_module modules/mod_log_rotate.so

RotateLogs On

RotateLogsLocalTime On

RotateInterval <interval> [<offset>]

Az interval és offset helyére percben megadott időintervallumokat írj.

Pl:
interval: 86400 -> naponta új log
offset: 60-> 23:00-kor fog új logot kezdeni éjfél helyett.

3. Be lehet állítani a használni kívánt fájlneveket is. Pl:

CustomLog logs/access_log.%Y%m%d-%H%M%S common

4. Állítsd le az apacheot!

5. Archiváld a régi log fájlokat.

6. Indítsd el az apache-ot!

Sajnos ez a megoldás csak az access log-ra működik, az error logokra nem,

Leave a Reply