Moin moin...
Ich habe eine Java anwendung die ich über Screen starte.... Es kommt des öffteren mal vor, das der Server (die Anwendung) abschmiert...
Weil das so häufig momentan passiert, dachte ich, ich bastel mir ein Überwachungsscript das via Cron alle X minuten aufgerufen wird...
Realisiert hab ich das soweit mit ps...
1 2 | #!/bin/bash ps ax | grep -v "grep java" | grep java || /home/MEIN_USER/Server/serverstarter.sh |
Das ist im Crontab eingetagen... Gebe ich genau diesen Befehl in der Shell ein... und der server läuft... bekomm ich halt nur die ps informationen ausgegeben... wenn der Server down ist... wird startserver.sh ausgeführt und alles is wunderhübsch...
Wenn jetzt aber der server down ist, und das "Process_Check" Script aufgerufen wird.. passiert gar nix...
Hier das startserver.sh script:
1 2 | #!/bin/bash screen java -jar -XX:MaxPermSize=128M /home/MEIN_USER/Server/server_application.jar |
Scheinbar scheint irgendwas mit den Userrechten nicht zu funktionieren...
Also hatte ich gedacht ich versuchs mal mit:
1 2 3 4 | #!/bin/bash USER="MEIN_USER" DIR="/home/MEIN_USER/Server/" ps ax | grep -v "grep java" | grep java || su $USER -c "screen java -jar -XX:MaxPermSize=128M ${DIR}/server_application.jar" |
Aber da wird dann grundsätzlich (egal ob die anwendung läuft oder nicht) immer das Userpasswort abgefragt...
Irgendwelche Ideen was da falsch läuft??
Gruß
Sada