ein Bash-Skript Verwenden Sie den mysql-Port und starten Sie ihn neu zu überwachen, wenn es nach unten
Gerade ist zu Demo, wie es funktioniert
Der nc-Befehl überprüft, dass Port 3306 (mysql-Port) kontaktierbar ist Wenn es dann $ ist? wird auf Null gesetzt, also zählt das als "up" sonst $? ist unten. Vielleicht möchten Sie beispielsweise für anstelle von „nc“, einen anderen Befehl verwenden echo "select 1;" | mysql
zu versuchen, eine nichts tun mysql Befehl
while [ 1 ]
do sleep 1
nc -z localhost 3306
if [ $? == 0 ]; then echo "up"
else echo "down"
fi
done
Die aktuelle Version zu laufen könnten Sie so
while [ 1 ]
do sleep 10
nc -vz localhost 3306
if [ $? != 0 ]; then /opt/lampp/lampp restart
fi
done
aussehen nutzen könnten Sie können ein Fenster geöffnet (vielleicht mit dem „screens“ Befehl zu) verlassen und führen Sie diesen 24x7
Wenn Sie das Zeitintervall auf 1 Minute erhöhen können, dann wäre es in Ordnung sein aus cron wie diese
01 laufen mein Linux-Server mit einem großen SWAP/Cache
in crontab
* * * * * /path/to/script
Skript
#!/bin/bash
nc -vz localhost 3306 > /dev/null 2>&1
if [ $? != 0 ]; then /opt/lampp/lampp restart
fi
Sie ein Skript benötigen, die alle x Minuten, wenn der Server überprüft ist, du wil immer mit ein bisschen eine Lücke (Zeit zwischen den Prüfungen) enden. Der Prozess könnte immer noch ausgeführt werden, aber Sie können keine Verbindung herstellen. Es alle 10 Sekunden zu überprüfen, scheint kein guter Plan (überhaupt) zu sein. Sie riskieren auch andere Probleme, ich würde mehr Speicher wählen. Repariere es nicht mit Skripten ... geh mit einer größeren Instanz. – Roger