Apache, Lighttpd, nginx, Cherokee
kiwikiwi
Posts: 65 Joined: 2003-08-17 09:06
Post
by kiwikiwi » 2005-02-16 19:12
Code: Select all
#!/bin/bash
if [ `ps -ef | grep -v "grep" | grep -c "httpd"` -gt 0 ]; then
if [ `wget "http://www.domain.de/apachecheck/apachecheck.txt" --delete-after 2>&1 | grep -c "200 OK"` -eq 0 ]; then
echo "apache has died...";
killall mysqld-max;
killall httpd;
sleep 10;
killall -9 mysqld-max;
killall -9 httpd;
rcmysql start;
rcapache start;
sendmail webmaster@domain.de < /check/apachecheck1.txt
fi
else
echo "apache dead..";
rcapache start;
sendmail webmaster@domain.de < /check/apachecheck2.txt
fi
geht das so oder habe ich was falsch gemacht
kiwikiwi
Posts: 65 Joined: 2003-08-17 09:06
Post
by kiwikiwi » 2005-02-16 19:18
achso ich lasse das als cron laufen
aber darum geht es nicht... ich will nur wissen ob der code so richtig ist
lufthansen
Posts: 390 Joined: 2002-09-24 17:31
Location: NRW
Post
by lufthansen » 2005-02-16 22:09
ich kann dir ehrlich gesagt nichts zu dem src sagen aber ich würde ehrlich gesagt erstmal gucken warum der abschmiert den das darf nicht sein ....
kiwikiwi
Posts: 65 Joined: 2003-08-17 09:06
Post
by kiwikiwi » 2005-02-16 22:12
ne......
es geht nur für den fall der fälle...
mc5000
Posts: 308 Joined: 2004-06-17 11:56
Location: Köln
Post
by mc5000 » 2005-02-17 09:37
Warum willst Du mysql einfach killen?? Hast doch gar nicht geprüft ob der auch weg ist??
Willst du nicht vielleicht prüfen ob der Apache dann auch sauber gestartet ist?? Sonst versucht Du das bei jedem cron-turn von neuem und müllst Dir die Mailbox/Logfiles/usw. sinnlos voll (wenn der apache nicht startet) ?!
Aber ansonsten ....
flo
Posts: 2223 Joined: 2002-07-28 13:02
Location: Berlin
Post
by flo » 2005-02-17 09:42
Das erste "kill" würde ich durch "rcapache stop" ersetzen, den mysql-Server in Ruhe lassen und gegebenenfalls die Systemlast miteinbeziehen.
Grüße,
flo.
distanzcheck
Posts: 531 Joined: 2003-01-09 08:58
Location: NRW
Post
by distanzcheck » 2005-03-24 19:26
kann man da irgendwie festlegen wielange er auf antwort vom apache wartet ?
ist der code soweit richtig ?
Code: Select all
#!/bin/bash
if [ `ps -ef | grep -v "grep" | grep -c "httpd"` -gt 0 ]; then
if [ `wget "http://blablabla.de/" --delete-after 2>&1 | grep -c "200 OK"` -eq 1 ]; then echo "apache ok";
else
echo "apache has died...";
rcapache2 stop
sleep 10;
killall -9 httpd;
/usr/sbin/apache2 start;
/usr/sbin/sendmail webmaster@blablabla.de < /var/backup/test/apachecheck1.txt
fi
else
echo "apache dead..";
/usr/sbin/apache2 start;
/usr/sbin/sendmail webmaster@blablabla.de < /var/backup/test/apachecheck2.txt
fi
kenzo
Posts: 526 Joined: 2003-07-15 20:30
Post
by kenzo » 2005-03-25 11:43
Wenn es nur um den Fall geht, dass Apache abschmieren könnte, kannst du das auch mit den daemontools machen. Dafür muss der Apache nur im Vordergrund laufen; für Apache 1 wäre das etwas wie
und für Apache2
Mehr Infos gibt es unter
http://cr.yp.to/daemontools.html .