Apache neu Starten ...

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

Apache neu Starten ...

Postby K-3 » 10. September 2004 20:37

Hallo zusammen ...

ich hab folgendes Problem. Es kann mit manchen PHP befehlen dazu kommen das der Apache hängen bleibt mit 100% CPU last ...

ich suche ein Programm das den Apache überwacht und z.B. nach 20 sekunden 100% CPU Last Apache beendet und ihn neu startet ...

gibts da ne möglichkeit ?

Ich kenne das z.B. von manchen Hostern wenn man ein bestimmtes post in ein forum macht hängt sich apache auf aber nach ca 20 sekunden ohne reaktion läd die webseite dann doch wieder ... also haben die ja auch sowas ...
K-3
 
Posts: 4
Joined: 10. September 2004 20:17

Postby Apache-User » 11. September 2004 10:42

unter Win sicherlich möglich mit einem kleinen script endweder ein CMD script mit einem cron verbunden oder ein perl script mit cron wobei ich das mit perl machen würde da du einige filter einbaun müsstest..

zuerst musst du die cputime via tasklist abfragen dann dir den apache rausfiltern und den wert mit einem max wert (100%) vergleichen am besten in einer true false schleife die dann bei weniger als 100% das script beendet und bei 100% eine apache restart cmd ausführt...

die befehle die du brauchen wirst sind tasklist (tasklist -? zeigt dir ne hilfe an)

und zum apache restarten (muss als dienst laufen) net stop apache2 und net start apache2

fals du immernoch keine ahnung hast kann ich dir evtl. das script schreiben...

wenn du linux benuzt frag jemand anderen und vergiss das obige :)
mfg
D.A.U.™
User avatar
Apache-User
 
Posts: 594
Joined: 30. December 2002 16:50
Location: anonym

Postby K-3 » 11. September 2004 11:40

verwende Windows 2003 Server ...

ich kenne mich damit nicht aus wenn du mir ein skript schreiben könntest wäre echt super ...

Apache läuft als Dienst ...

MfG
K-3
 
Posts: 4
Joined: 10. September 2004 20:17

Postby Apache-User » 12. September 2004 10:55

so ok....

also du brauchst dann noch folgendes:

nncron lite (windows cron freeware)

ActivePerl (http://www.activestate.com/Products/Dow ... ActivePerl)


so dann mal zu dem script

getstatus.pl
Code: Select all
##############################
##  Apache Critical Restart ##
##                          ##
##   Script by Apache-User  ##
##############################

## Get Apache Status
open(CMD, 'tasklist -fi "services eq apache2" -fi "status eq not responding"|')
or die "Fehler: $! \n";
@output=<CMD>;
chomp(@output);
$end = "FEHLER: Der Suchfilter wurde nicht erkannt.";
if (@output eq $end) {
die "Apache Status OK \n";
}

## Call Restart
open(CMD, "apacherestart.cmd|")
or die "Fehler: $! \n";


apacherestart.cmd
Code: Select all
net stop apache2
net start apache2


so beide dateien solltest du in einen extra ordner gemeinsam aufbewahren und den cron dann nach deinen wünschen anpassen...

das script sollte meiner meinung nach funzen konnte es leider nicht testen da ich selten den fall hab das bei mir apache oder sonstiges nicht reagiert.
mfg
D.A.U.™
User avatar
Apache-User
 
Posts: 594
Joined: 30. December 2002 16:50
Location: anonym


Return to Apache

Who is online

Users browsing this forum: No registered users and 105 guests