Probleme mit Log-Files

Alles, was den Apache betrifft, kann hier besprochen werden.

Probleme mit Log-Files

Postby crivi » 06. June 2004 11:17

Hallo zusammen

Ich habe da ein kleines Problem mit meinen Log-Files.

Ich habe mehrere Websites auf meinem Server. Jetzt habe ich ein PHP Script gemacht, welches mir die Log-Files in eine MySQL Datenbank schreibt.

Nachdem dass ich die Daten in die MYSQL Datenbank geschrieben habe, benenne ich die Datei um: z.b access_log_06-06-2004.

Nachdem ich die Datei umbenennt habe, erstelle ich eine neue leere access_log. Schreibrechte und alles ist vorhanden.

Allerdings bleibt sie immer leer. Erst nachdem ich den Apache restartet habe, schrieb er mir wieder in das Log-File rein. Ist das normal?

Wenn nein, was kann ich ändern, damit ich den Apache nicht neustarten muss?

Danke

Gruss Raffi
User avatar
crivi
 
Posts: 51
Joined: 21. July 2003 14:10
Location: *SCHWEIZ*

Postby crivi » 06. June 2004 19:20

und hat niemand eine idee?
User avatar
crivi
 
Posts: 51
Joined: 21. July 2003 14:10
Location: *SCHWEIZ*

Postby DJ DHG » 06. June 2004 22:45

Moin Moin

ich würde das so machen.
log datei kopieren und dann die alte mit "fopen ("logfile", "w+"); auf 0 byte setzen.

ungetestet.

mfg DJ DHG
User avatar
DJ DHG
AF Moderator
 
Posts: 2455
Joined: 27. December 2002 13:50
Location: Kiel

Re: Probleme mit Log-Files

Postby daxim » 06. June 2004 22:46

Allerdings bleibt sie immer leer. Erst nachdem ich den Apache restartet habe, schrieb er mir wieder in das Log-File rein. Ist das normal?
Ja. Du darfst laufenden Prozessen nicht die Dateien unterm Hintern wegziehen, in die sie schreiben. Je nach Betriebssystem schreibt der Prozess an der Stelle weiter, an der er gerade war, oder schreibt gar nicht mehr. Woher soll er denn auch wissen, wieder am Beginn der Datei anzufangen?

Du möchtest piped logs mit rotatelogs verwenden. http://httpd.apache.org/docs/logs.html#piped
daxim
 
Posts: 53
Joined: 04. June 2004 20:45

isreadable nutzen

Postby TConnect » 11. June 2004 23:03

Hallöchen,

soweit ich weiß gibt es unter PHP zwei Funktionen, die testen, ob eine Datei lesbar ist und ob eine Datei schreibbar ist. Du solltest eine kleine WHILE-Schleife schreiben, die die Schreibbarkeit der Log-Datei überprüft und wenn diese gegeben ist, die Datei ruck zuck umbenennen.

Auf unserem System hat sich der Apache noch nie darum geschehrt, wenn wir ihm die Logdateien auf diese Weise unterm Hintern weggezogen haben - Voraussetzung war sicherlich, dass er nicht gerade mitten in einem Schreibprozess war.

Soweit ich weiß muß man noch nicht einmal eine neue Datei anlegen. Das erledigt der Apache selber.

Gruß TConnect
TConnect
 
Posts: 100
Joined: 31. March 2004 22:26

Postby Heini_net » 12. June 2004 09:04

Hi..

Soweit ich weiss lassen sich die Dateien gar nich löschen während Apache läuft..

Wenn ich also meine Log Dateien leeren möchte bzw. umbenennen will, habe ich mir eine Batch Datei gemacht die apache beendet, anschließend die Dateien umbenennt und zum schluss Apache wieder startet.

Die Dateien werden ja wie von TConnect erwähnt, neu erstellt.

Mfg. Heini
User avatar
Heini_net
 
Posts: 520
Joined: 25. July 2003 15:43
Location: hier


Return to Apache

Who is online

Users browsing this forum: No registered users and 22 guests