Hey!
Ich hab folgendes Startscript für meinen Server:
##
# SA-MP Start/Stop Script
#
# @Author Rafael 'R@f' Keramidas
# @Date 2nd July 2012
# @Comment Don't run your server with root !
##
#!/bin/bash
# Variables (CONFIG)
DIR="/home/sampmain/samp03/" # SA-MP Server directory
EXEC="samp03svr" # SA-MP Server executable
SCREENNAME="samp" # Screen name
DESC="SA-MP Test Server" # Description
# Functions
function startServer {
if [ -d $DIR ]; then
cd $DIR
if [ -f $EXEC ]; then
screen -dmS $SCREENNAME ./$EXEC
echo "$DESC started !"
else
echo "Error: SA-MP executable ($EXEC) not found !"
fi
else
echo "Error: SA-MP directory ($DIR) not found !"
fi
}
function stopServer {
CHECK=`ps u -C $EXEC | grep -vc USER`
if [ $CHECK -eq 0 ]; then
echo "$DESC is currently not running."
else
screen -X -S $SCREENNAME quit
killall $EXEC
echo "$DESC stopped !"
fi
}
function serverStatus {
CHECK=`ps u -C $EXEC | grep -vc USER`
if [ $CHECK -eq 0 ]; then
echo "$DESC is currently not running."
else
echo "$DESC is running."
fi
}
# Main
case "$1" in
start)
startServer
;;
stop)
stopServer
;;
restart)
stopServer
sleep 1
startServer
;;
status)
serverStatus
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
;;
esac
exit
Alles anzeigen
Was soweit über ssh annähernd gut funktioniert. Annähernd aus dem Grund weil ich es nicht schaffe das ein anderer Benutzer abgesehen von root das Script ausführen kann. Ich glaub zum starten klappts von anderen aus aber der rest schon wieder nichtmehr..
Aber lassen wir das jetzt mal nebensächlich sein. Ich habe über den Befehl visudo meinem Apache Benutzer Root Rechte für genau diese Datei gegeben um ein Start/Stop/Status Script über eine Webseite laufen lassen zu können.
Ich habe nach dem selben Prinzip bereits meinen Teamspeak Server Verwaltet dort funktioniert das alles Einwandfrei.
Nun wenn dieser Befehl auf der Webseite ausgeführt wird:
Steht dann nur dort das der Server gestartet wurd also wie wenn man den Befehl samp.sh start Ausgeführt hätte. Es startet dann auch den Server nur hald auch wenn der Server bereits läuft.