Moin!
On Fri Apr 16 00:00:18 1999 CEST Knut Grahlmann wrote:
> Eike Bernhardt wrote:
> > On Wed Apr 14 01:40:37 1999 CEST Knut Grahlmann wrote:
> >
> > > Ich lasse logresolve per cronjob meine httpd.access DNS-aufloesen.
> > > Ich starte es etwa 15min bevor ich vom webalizer Statistiken anfertigen
> > > lasse.
> > > Nun ist das Problem, dass die 15 min einfach nicht genug sind,
> > > logresolve nicht fertig wird und webalizer unvollstaendige Ergebnisse
> > > liefert (z.B. mehrere Tage weglaesst).
> > > [blubber]
> > W�sst ich jetzt nicht, aber du k�nntest z.B. Apache sagen, das er seine
> > Logfiles immer nach einem Monat neu beginnen soll indem du als Filename
> > zum Loggen z.b. "/var/log/httpd.access_log`date +%m-%y`" angibst, dann
> > muss logresolve immer nur den Datenbestand eines Monats durchackern.
>
> Herzlichen Dank Eike, hat mir sehr stark geholfen.
>
> Also habe da ein bisschen rumgespielt und dabei ist folgendes
> rausgekommen:
> Sowie ich es sehe, kann man in /etc/httpd/httpd.conf unter CustomLog das
> o.g nicht direkt eintragen.
Nicht? Ich hab's nicht ausprobiert (doch ein wenig sp�t :) aber ein
CustomLog /var/log/httpd.access_log_`date +%m-%y` combined
in der /etc/httpd/httpd.conf sollte eigentlich klappen, es sei denn
Apache macht da irgendwas anders als viele andere Programme.
> ABER: Gegen einen symbolischen Link hat Apache nichts, also habe ich das
> dort gemacht (httpd.access_log.actual).
> Nun wird am Monatsanfang das folgende Script ausgefuehrt:
> ---------------------------------------------------------
> #!/bin/bash
> # written 04/15/1999 by Knut Grahlmann <[EMAIL PROTECTED]>
> # creates monthly a new log-file for apache and notifies root of the
> change
> # (for use with crontab, see man crontab and man 5 crontab)
> # I dunno why apache needs to be restarted after that, guess it has
> something to do with the symbolic
> # link
> # limitations: non-SuSE users probably need to modify the paths
>
> touch /var/log/httpd.access_log_`date +%m_%y`
> chgrp bin /var/log/httpd.access_log_`date +%m_%y`
> chmod 0600 /var/log/httpd.access_log_`date +%m_%y`
> rm /var/log/httpd.access_log.actual
> ln -s /var/log/httpd.access_log_`date +%m_%y`
> /var/log/httpd.access_log.actual
> echo "changed apache log files at `date`"|mail root
> /sbin/init.d/apache stop 1>/dev/null
> /sbin/init.d/apache start 1>/dev/null
> ----------------------------------------------------------
Ich w�rde das "apache stop" ganz an den Anfang setzen, ich wei� nicht ob
der Apache das so gerne hat wenn man ihm einfach das LogFile w�hrend des
Betriebs klaut.
> In /etc/crontab steht nun folgendes:
> 1 0 1 * * root /root/apache_log_change
> (Koennte natuerlich REIN theoretisch das Problem geben, dass wenn zu dem
> Zeitpunkt ein http-zugriff stattfindet, die Datei vielleicht "gelocked"
> ist.)
Auch das solltest du umgehen, wenn das "apache stop" am Anfang des
Skripts steht - dann ist der Server halt einmal kurz nicht zu erreichen,
sollte sich verkraften lassen.
Tschau, Eike
--
Eike Bernhardt <[EMAIL PROTECTED]> ICQ# 11256658
Homepage: http://privat.schlund.de/eike-bernhardt/
"God, root, what is difference?" http://www.userfriendly.org
--
Um aus der Liste ausgetragen zu werden, eine Mail an [EMAIL PROTECTED]
schicken, mit dem Text: unsubscribe suse-linux