Da auf meinem Mail-Server des Öfteren der Apache2 Webserver abgestützt ist, möchte ich Euch hier zeigen, wie Ihr Serverprogramme automatisiert neustarten könnt. Dazu habe ich nun ein Script erstellt, welches den Apache2 im Falle eines Absturzes erneut startet. Das Script wird mithilfe von Cron alle 5 Minuten ausgeführt und prüft, ob der Server noch läuft. Tut er das nicht, so wird er vom Script gestartet. Dadurch beträgt die Ausfallzeit des Webservers maximal 5 Minuten.
Als erstes erstellen wir folgende Datei mit der Endung .sh [dateiname.sh]:
#!/bin/sh ps auxw | grep apache2 | grep -v grep > /dev/null if [ $? != 0 ] then /etc/init.d/apache2 start > /dev/null fi
Danach machen wird die Datei ausführbar:
chmod +x dateiname.sh
Anschließend editieren wir die crontab:
crontab -e
und fügen folgende Zeile hinzu:
*/5 * * * * ~/dateiname.sh
Was genau passiert:
Im Script wird geschaut, ob es einen Prozess mit dem Name apache2 gibt. Gibt es einen, wird das Script ohne weiteres zu tun beendet. Gibt es keinen, wird der apache2 gestartet.
Der Cron-Job ruft alle 5 Minuten das Script dateiname.sh aus dem Home-Verzeichnis des Users auf.
Neueste Kommentare