Come avere errori giornalieri e accedere ai registri su Apache (per Windows)?


10

Stiamo eseguendo Apache 2.2.9 (Win32) con alcuni host virtuali configurati su un server. Ognuno ha le proprie impostazioni ErrorLog e CustomLog che sono nel formato di "logs / [domain domain] -error.log" e "logs / [domain name] -access.log". Sfortunatamente questi stanno creando file abbastanza grandi.

Su IIS è possibile specificare la pianificazione del registro, che può inserirli in un formato giornaliero di "yymmdd.log". C'è qualcosa di simile che posso fare qui?

Non deve essere né giornaliero né settimanale né mensile. Vorrei solo scomporli in modo da poter mantenere la quantità X invece di tutto ciò che è mai stato registrato. Un rapido Google sembra far apparire molte risposte orientate a Linux che coinvolgono splitter di log, script e lavori cron che non sono troppo utili per un'installazione di Windows.

Aggiornare

Grazie a radius, ho modificato il mio httpd-vhosts.conf per utilizzare il comando rotatelogs integrato di Apache , nel seguente formato:

ErrorLog "|bin/rotatelogs logs/[domain name]-error.%Y-%m-%d-%H_%M_%S.log 5M" CustomLog "|bin/rotatelogs logs/[domain name]-access.%Y-%m-%d-%H_%M_%S.log 5M" common

Creeranno un nuovo file di registro quando quello corrente raggiunge i 5 MB. So che non è quotidiano come richiesto, ma che li mantiene ad una dimensione gestibile che farà. Ho provato a ruotare dopo così tanti secondi ma non sembrava che il timestamp nel nome del file fosse corretto (in particolare ore, minuti e secondi).

Risposte:


11

Quello che stai cercando è il programma rotatelogs che viene fornito con apache http://httpd.apache.org/docs/2.2/programs/rotatelogs.html

Ad esempio, per ruotare i tuoi registri ogni giorno a mezzanotte:

CustomLog "|bin/rotatelogs -f /var/log/apache2/logfile.%Y.%m.%d.log 86400" common

+1, non sapevo che Apache avesse una soluzione propria.
Karolis T.,

Per chiunque utilizzi Ubuntu potresti dover cambiare il percorso /usr/bin/rotatelogs, poiché è lì che rotatelogssi trova. Altrimenti Apache non si riavvierà a causa di un errore.
BadHorsie,



0

Prova direttamente con

CustomLog "|C:/<chemin vers apache>/bin/rotatelogs.exe E:/<chemin vers les logs>/<monsite>/access-%Y_%m_%d.log 86400 60" combined

2
Si prega di aggiungere una spiegazione di ciò che fa.
Kasperd,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.