Veröffentlicht 5. Mai 200421 j Hallo, ich habe ein problem mit logrotate unter debian mit Apache, die Apache Logs werden zwar rotiert aber der Apache schreibt weiter in die letzte Datei. Also nach dem rotate in *.1 An sich würde mich das nicht stören, wenn dadurch nicht meine Webserverstatistiken durcheinander kommen würden. Also, hat dieses Problem auch schon mal jemand gehabt oder weiß jemand was da verkehrt läuft? Gruß Jaraz
8. Mai 200421 j Also nach dem rotate in *.1... Sieht fast so aus also würde Dein logrotate Script die Logdatei wegmoven... ...das wird so aber nicht funktionieren da Apache noch das Filehandle auf die ursprüngliche Datei offen hat. Und da Du beim wegmoven nur das darüberliegende Verzeichnis anfasst und nicht die Datei selbst schreibt Apache also munter weiter in die alte Datei, auch wenn die jetzt anders heisst. Vorschläge: a.) Suche bzw. schreibe Dir ein logrotate das folgendes macht: Logdatei kopieren, alte Logdatei cat /dev/nullen, etc... b.) Apache stoppen, Logs rotieren, Apache starten. Aber das wäre ja irgendwie uncool. c.) Wenn Du mit dem Linux DefaultLogrotate arbeitest dann ist das vielleicht einfach ne KonfigurationsSache: >>>>>>>>>>>>>>>>>>> "/var/log/httpd/access.log" /var/log/httpd/error.log { rotate 5 mail www@my.org size=100k sharedscripts postrotate /sbin/killall -HUP httpd endscript } >>>>>>>>>>>>>>>>>>> In diesem Beispiel dürfte das postrotate Script interessant sein; sagt allen httpd Prozessen dass Sie ihre Konfiguration neu einlesen sollen... Apache läuft aber weiter. Könnte funktionieren wenn die httpds dabei die alten FileHandles zumachen und neue aufmachen. Bye SystemError
8. Mai 200421 j Hi, so wie es aussieht, fehlte in der Apache Datei nach prerotate ein endscript. Das hat das ganze nacheinander abarbeiten von logfiles, awstats, usw beeinflusst. Nachdem ich das endscript eingefügt habe, läuft nun alles und ich hoffe auch dauerhaft. Gruß Jaraz
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.