
Ich habe eine Datei mit dem Namen hello.sh. Ich führe diese Datei alle 30 Minuten von crontab aus.
In hello.sh habe ich ein Skript, um zu prüfen, ob der Dienst ausgeführt wird oder nicht. Wenn er nicht ausgeführt wird, wird eine E-Mail gesendet und der Dienst neu gestartet.
hello.sh-Skript:
b=$JAVA_HOME/bin/jps| grep "Bootstrap" | awk '{print $2}' if [ "$b" = "LISTEN" ]; then echo "Bootstrap is running" elif [ "$b" == "" ]; then mail -s "Message from 33 Server, The service is not running its going to restart the server " [email protected] sudo catalina.sh run
Es läuft perfekt. Jetzt führe ich dieses Programm alle 30 Minuten einmal aus. Wenn der Dienst nicht läuft, wird versucht, ihn neu zu starten. Jetzt muss ich dieses Skript dreimal überprüfen. Wenn der Dienst nach 1:30 Stunden nicht neu gestartet wird, muss ich den Prüfvorgang überspringen und eine E-Mail senden wie „Dieser Dienst läuft nicht, muss also manuell gestartet werden“. Wenn der Dienst manuell gestartet wird, sollte das Skript nicht ausgeführt werden. Nachdem der Dienst manuell gestartet wurde, muss er alle halbe Stunde einmal von crontab aus überprüft werden.
Wenn es möglich ist, wie geht das?