der verlorene Sohn des Apachen

Apache, Lighttpd, nginx, Cherokee
Post Reply
dieguito
Posts: 24
Joined: 2003-07-07 22:02
 

der verlorene Sohn des Apachen

Post by dieguito »

nach freudiger Rückkehr des verlorenen Sohnes stürzt der Apache ab und lässt sich nur durch einen Reset wiederbeleben

In den Log steht:

[Sat Jul 10 00:15:25 2004] [warn] long lost child came home! (pid 480)

Danach ist Feierabend...

Wie kann ich das künftig verhindern ?
mmg-media
Posts: 99
Joined: 2003-06-23 12:40
Contact:
 

Re: der verlorene Sohn des Apachen

Post by mmg-media »

Ist zu dieser Zeit Logrotate aktiv? Wenn ja änder das Logrotat Script so das der Apache nicht reloaded wird sondern runter und dann nach pause hochgefahren wird.
the.dancer
Posts: 56
Joined: 2004-01-25 19:53
 

beschreibung

Post by the.dancer »

könntest du dies eventuell mal genauer beschreiben. habe nämlich den "verlorenen sohn" sowie 'zig segmentation fault (11) und dann apache-crash. habe in der logrotate.d für den apache reload auf restart gesetzt, aber fehler besteht weiterhin. wie erreiche ich die "pause" von der du sprichst?
mc5000
Posts: 308
Joined: 2004-06-17 11:56
Location: Köln
 

Re: der verlorene Sohn des Apachen

Post by mc5000 »

apachectl stop
rotate .. rotate .. rotate
sleep <- optional :wink:
apachectl start ....

oder ??
the.dancer
Posts: 56
Joined: 2004-01-25 19:53
 

fragen über fragen

Post by the.dancer »

was fange ich damit jetzt an?
sollte dies in ein script, oder in die apache-rotate-datei?
was bewirkt sleep? wird da nicht noch eine variable benötigt, mit welcher der zeit für den sleep gesetzt wird?
waäre doch toll, wenn mal jemand seine modifizierte, und funktionstüchtige apache-rotate-datei posten könnte.
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten
Contact:
 

Re: der verlorene Sohn des Apachen

Post by captaincrunch »

In dem Fall bewirkt "sleep" aufgrund der fehlenden Angabe nichts mehr als eine Fehlermeldung. ;) Alles weitere verrät dir "man sleep".
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
the.dancer
Posts: 56
Joined: 2004-01-25 19:53
 

ok.

Post by the.dancer »

teilantwort. wenn ich jetzt noch ne info bekomme, ober der syntax so wie oben beschrieben (und sleep-modif nach man sleep) in die logrotate-datei des apache übernommen werden muss, wäre das richtig toll.
mc5000
Posts: 308
Joined: 2004-06-17 11:56
Location: Köln
 

Re: der verlorene Sohn des Apachen

Post by mc5000 »

also ohne dass ich das schon gemacht hätte - mein vorschlag war (in Anlehnung an MMG-Media`s Idee):

im logrotate

am anfang den apache stoppen -> apachectl stop (oder was bei dir genutzt wird)

dann die logrotate aktionen laufen lassen

zum schluss (vielleicht) mit sleep noch etwas warten, damit sich nix überschneidet -> SLEEP(30)
SLEEP(3) Linux Programmer's Manual SLEEP(3)

NAME
sleep - Sleep for the specified number of seconds

SYNOPSIS
#include <unistd.h>

unsigned int sleep(unsigned int seconds);

DESCRIPTION
sleep() makes the current process sleep until seconds sec-
onds have elapsed or a signal arrives which is not
ignored.

RETURN VALUE
Zero if the requested time has elapsed, or the number of
seconds left to sleep.

CONFORMING TO
POSIX.1

BUGS
sleep() may be implemented using SIGALRM; mixing calls to
alarm() and sleep() is a bad idea.

Using longjmp() from a signal handler or modifying the
handling of SIGALRM while sleeping will cause undefined
results.

SEE ALSO
signal(2), alarm(2)

GNU April 7, 1993 1
und dann den apache neu starten -> apachectl start (ssl nicht vergessen oder wie auch immer der startbefehl bei dir heisst)

-------------------------------------

ist es das was du erwartet hast ?? :wink:
the.dancer
Posts: 56
Joined: 2004-01-25 19:53
 

beispiel

Post by the.dancer »

nehmen wir an, folgendes sei ein teil der logrotate.d/apache:

Code: Select all

/var/log/httpd/error_log {
        compress
        dateext
        maxage 365
        rotate 10
        size=+1024k
        notifempty
        missingok
        create 644 root root
        postrotate
        /etc/init.d/apache start
        endscript
        errors root
        prerotate
        /etc/init.d/apache stop
        endscript
}
Wäre es dann möglich und sinnvoll, "sleep" wie folgt einzufügen?

Code: Select all

/var/log/httpd/error_log {
        compress
        dateext
        maxage 365
        rotate 10
        size=+1024k
        notifempty
        missingok
        create 644 root root
        postrotate
        sleep(30)
        /etc/init.d/apache start
        endscript
        errors root
        prerotate
        /etc/init.d/apache stop
        endscript
}
Danke im Voraus für Eure Bemühungen.
sascha
Posts: 1325
Joined: 2002-04-22 23:08
 

Re: der verlorene Sohn des Apachen

Post by sascha »

s/sleep(30)/sleep 30/
Anonymous
 

Re: der verlorene Sohn des Apachen

Post by Anonymous »

Sascha wrote:s/sleep(30)/sleep 30/
ob hier jeder des perl mächtig ist ?? ;)
Anonymous
 

Re: der verlorene Sohn des Apachen

Post by Anonymous »

mc5000 wrote:apachectl stop
rotate .. rotate .. rotate
sleep <- optional :wink:
apachectl start ....

oder ??
seid ihr überhaupt sicher dass die ursache am logrotate liegt?
ich hatte mal misteriöse prozessabstürze nachdem ich den kernel 2.4.24 aktiviert hatte. darunter war auch gelegentlich der apache.
mit 2.4.25 lief dann wieder alles normal.
the.dancer
Posts: 56
Joined: 2004-01-25 19:53
 

Fragen über Fragen

Post by the.dancer »

Sascha wrote:s/sleep(30)/sleep 30/
warum dieser syntax? könntest du den mal zerlegen und kurz beschreiben, warum? kann mit dem "s/" und dem zweiten "/sleep 30/" ohne klammern nicht wirklich was anfangen.
ich meinte, der sleep-befehl sei syntaktisch "sleep(xx)" korrekt, wobei "xx" für die Dauer der Pause in Sekunden steht. Lieg ich da falsch?
tomek
Posts: 243
Joined: 2003-08-05 09:44
Location: Paderborn
Contact:
 

Re: der verlorene Sohn des Apachen

Post by tomek »

Das ist Suchen und Ersetzen. Das bedeutet einfach, dass du "sleep(30)" ersetzen sollst mit "sleep 30". Mehr steckt da nicht hinter. :)
the.dancer
Posts: 56
Joined: 2004-01-25 19:53
 

*rotwerd*

Post by the.dancer »

da könnt ich ja im boden versinken. seh den wald vor lauter bäumen nicht. danke. :idea:
the.dancer
Posts: 56
Joined: 2004-01-25 19:53
 

oki ...

Post by the.dancer »

... seither läuft er stabil. eine gezwungene logrotation hat auch keine probleme bereitet. ich werd's weiter beobachten, doch bisher scheint in der logrotation der hund begraben gewesen zu sein.
danke nochmal, war echt ne große hilfe.

:-D
Post Reply