Page 1 of 1

per cron den server neustarten wenn er hängt... geht das so

Posted: 2005-02-16 19:12
by kiwikiwi

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

Re: per cron den server neustarten wenn er hängt... geht das so

Posted: 2005-02-16 19:18
by kiwikiwi
achso ich lasse das als cron laufen

aber darum geht es nicht... ich will nur wissen ob der code so richtig ist

Re: per cron den server neustarten wenn er hängt... geht das so

Posted: 2005-02-16 22:09
by lufthansen
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 ....

Re: per cron den server neustarten wenn er hängt... geht das so

Posted: 2005-02-16 22:12
by kiwikiwi
ne......

es geht nur für den fall der fälle...

???

Posted: 2005-02-17 09:37
by mc5000
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 ....

Re: per cron den server neustarten wenn er hängt... geht das so

Posted: 2005-02-17 09:42
by flo
Das erste "kill" würde ich durch "rcapache stop" ersetzen, den mysql-Server in Ruhe lassen und gegebenenfalls die Systemlast miteinbeziehen.

Grüße,

flo.

Re: per cron den server neustarten wenn er hängt... geht das so

Posted: 2005-03-24 19:26
by distanzcheck
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

Re: per cron den server neustarten wenn er hängt... geht das so

Posted: 2005-03-25 11:43
by kenzo
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

Code: Select all

/usr/sbin/apache -F
und für Apache2

Code: Select all

/usr/sbin/apache2 -D NO_DETACH
Mehr Infos gibt es unter http://cr.yp.to/daemontools.html.