View previous topic :: View next topic |
Author |
Message |
lituxer Tux's lil' helper
Joined: 04 Aug 2007 Posts: 90 Location: Sauerland
|
Posted: Tue Jan 20, 2009 6:00 pm Post subject: Server/Gnome "Log Dateien werden nicht mehr beschrieben |
|
|
Hallo
Vielleicht kann mir mal jemand weiterhelfen?
Im Nautilus logge ich mich per sftp auf dem Server ein, was anstandslos funktioniert.
Die Logdatei schaue ich mir dann mit dem Texteditor (gedit) an. Danach lösche ich den Inhalt und speichere die Datei. Was auch klappt.
Nur danach werden die Logdateien nicht mehr beschrieben. Erst wenn ich den Apache restarte klappt es wieder.
Das Problem tritt nur unter Gnome auf, wenn ich es von KDE (Konqueror) mit Kwriter mache, funktioniert es ohne restart von Apache.
Meine Vermutung ist, das gedit irgendwas beim speichern hinterlässt, der das schreiben der Logs blockiert. Aber was?
Ich würde es gerne weiter mit meinem Hauptsystem Gnome machen, zumal KDE 4.2 RC nur ein Testsystem ist. _________________ GentooFreunde |
|
Back to top |
|
|
mrsteven Veteran
Joined: 04 Jul 2003 Posts: 1939
|
Posted: Tue Jan 20, 2009 9:40 pm Post subject: |
|
|
Das hängt wohl mit der Art wie der GNOME-Editor Dateien speichert zusammen. Unter Unix kann es nämlich unter Umständen passieren, dass eine Datei zwar existiert aber unter keinem Dateinamen mehr angesprochen werden kann. Das passiert z.B. wenn eine Datei noch geöffnet ist und man sie währenddessen mit rm entfernt. Erst wenn kein Zugriff mehr erfolgt wird die Datei endgültig gelöscht (bzw. die dafür reservierten Blöcke und das I-Node freigegeben).
Was hier wohl passiert ist folgendes:
- Apache öffnet sein Logfile.
- Du öffnest im Editor die Datei. Wahrscheinlich wird sie nur gelesen.
- Du editierst die Datei im RAM und gibst anschließend dem Editor den Befehl zum Speichern.
- Der Editor löscht die alte Logdatei, bzw. er entfernt eigentlich nur den Dateieintrag aus dem Verzeichnis. Apache schreibt weiter in die alte Datei, auf die sonst aber kein Programm mehr Zugriff hat. Sobald Apache sein Log schließt wird dieses automatisch gelöscht. Der Editor schreibt nun eine neue Datei und legt sie unter dem gleichen Namen ab wie die alte. Wenn du wieder über den Dateinamen auf das Log zugreifst, dann siehst du die neue, leere Version und nicht die, in die Apache schreibt.
- Wird der Apache neu gestartet öffnet dieser über den Dateinamen ebenfalls die neue Datei.
Der Editor von KDE scheint hier wohl etwas anders zu funktionieren. Manchmal hilft es SIGHUP an den entsprechenden Prozess (in dem Fall Apache) zu senden, ich habe es aber nicht ausprobiert. Prinzipiell bietet sich für solche Aufgaben das Tool logrotate an. |
|
Back to top |
|
|
lituxer Tux's lil' helper
Joined: 04 Aug 2007 Posts: 90 Location: Sauerland
|
Posted: Tue Jan 20, 2009 10:26 pm Post subject: |
|
|
mrsteven wrote: |
Der Editor löscht die alte Logdatei, bzw. er entfernt eigentlich nur den Dateieintrag aus dem Verzeichnis. Apache schreibt weiter in die alte Datei, auf die sonst aber kein Programm mehr Zugriff hat. Sobald Apache sein Log schließt wird dieses automatisch gelöscht. Der Editor schreibt nun eine neue Datei und legt sie unter dem gleichen Namen ab wie die alte. Wenn du wieder über den Dateinamen auf das Log zugreifst, dann siehst du die neue, leere Version und nicht die, in die Apache schreibt.
|
Genau das ist das Problem.
Ich habe das mal mit der error-log von Apache ausprobiert. Er schreibt wirklich nicht in die bereinigte Datei.
Schreiben tut Apache, nur leg er die Datei dann gepackt ab. Schon merkwürdig das ganze.
Da ich es wissen wollte, habe ich mir auf Gnome mal kwrite installiert, ist der selbe effect. Also scheint es ja nicht am Editor zuliegen?
Oder liegt es daran, das ich aus KDE mit fish:// und unter Gnome mit sftp:// auf dem Server zugreife? Was ja eigentlich nicht sein kann.
Die Idee mit dem SIGHUP Signal hatte ich auch schon, zumal er Prozesse zum erneuten Einlesen ihrer Konfigurationsdateien bewegt.
Ich bin mir aber nicht sicher, wie der Apache darauf reagiert. Im Prinzip kann ich den Apache dann auch gleich neustarten.
Quote: | Prinzipiell bietet sich für solche Aufgaben das Tool logrotate an. |
Dazu habe ich mal Tante Google befragt. Da soll es aber doch einige Probleme mit logrotate und den Apache geben.
Man möge mich berichtigen, da ich dieses Tool noch nicht benutzt habe.
Auf jedenfall Danke ich Dir für die ausführliche Beschreibung. _________________ GentooFreunde |
|
Back to top |
|
|
Max Steel Advocate
Joined: 12 Feb 2007 Posts: 2272 Location: My own world! I and Gentoo!
|
Posted: Tue Jan 20, 2009 11:05 pm Post subject: |
|
|
Statt SIGHUP könnte er fürs reloaden auch /etc/init.d/apache2 reload verwenden.
Aber ich vermute das du um ein restart oder zumindest reload nicht groß drumherum kommen wirst. _________________ mfg
Steel
___________________
Heim-PC: AMD Ryzen 5950X, 64GB RAM, GTX 1080
Laptop: Intel Core i5-4300U, 16GB RAM, Intel Graphic
Arbeit-PC: Intel i5-1145G7, 16GB RAM, Intel Iris Xe Graphic (leider WSL2) |
|
Back to top |
|
|
lituxer Tux's lil' helper
Joined: 04 Aug 2007 Posts: 90 Location: Sauerland
|
Posted: Tue Jan 20, 2009 11:24 pm Post subject: |
|
|
Max Steel wrote: |
Aber ich vermute das du um ein restart oder zumindest reload nicht groß drumherum kommen wirst. |
Die Befürchtung habe ich leider auch. Ist im Prinzip ja auch kein Problem, den Apache danach neuzustarten.
Es war halt sehr praktisch mit KDE.
Nur möchte ich das Testsystem nicht dafür benutzen, zumal ich mit KDE eh schon genug Probleme habe.
Wer weiss, was dann noch alles passiert. _________________ GentooFreunde |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|