Hallo, ich möchte jeden morgen um 7 Uhr meinen CS 1.6 Server neu starten lassen. Dazu hab ich dieses Script genommen, angepasst und nach /etc/init.d/ kopiert und mit chmod u+x ausführbar gemacht.
Code
#! /bin/sh
# The user that will run the server
CS_USER=syntax
# Leave this alone.
NAME=hlds
PATH=/bin:/usr/bin:/sbin:/usr/sbin
# DON'T FORGET TO CHANGE THE PATH TO YOUR NEEDS!
DIR=/home/syntax/hlds
# Leave this alone.
DAEMON=hlds_run
# Internet-server:
#PARAMS="-game cstrike +map de_aztec +maxplayers 16"
# LAN-server:
PARAMS="-game cstrike -nomaster -insecure +sv_lan 1 +maxplayers 16 +map de_dust"
# Leave this alone.
DESC="Counter-Strike dedicated server"
case "$1" in
start)
if [[ `su $CS_USER -c "screen -ls |grep $NAME"` ]]
then
echo "HLDS is already running!"
else
echo "Starting $DESC: $NAME"
su $CS_USER -c "cd $DIR; screen -m -d -S hlds ./$DAEMON $PARAMS"
fi
;;
stop)
if [[ `su $CS_USER -c "screen -ls |grep $NAME"` ]]
then
echo -n "Stopping $DESC: $NAME"
kill `ps aux | grep -v grep | grep -i $CS_USER | grep -i screen | grep -i $NAME | awk '{print $2}'`
echo " ... done."
else
echo "Coulnd't find a running $DESC"
fi
;;
restart)
if [[ `su $CS_USER -c "screen -ls |grep $NAME"` ]]
then
echo -n "Stopping $DESC: $NAME"
kill `ps aux | grep -v grep | grep -i $CS_USER | grep -i screen | grep -i $NAME | awk '{print $2}'`
echo " ... done."
else
echo "Coulnd't find a running $DESC"
fi
echo -n "Starting $DESC: $NAME"
su $CS_USER -c "cd $DIR; screen -m -d -S hlds ./$DAEMON $PARAMS"
echo " ... done."
;;
status)
ps aux | grep -v grep | grep hlds_r > /dev/null
CHECK=$?
[ $CHECK -eq 0 ] && echo "HLDS is UP" || echo "HLDS is DOWN"
;;
*)
echo "Usage: $0 {start|stop|status|restart}"
exit 1
;;
esac
exit 0
Alles anzeigen
Dazu hab ich 2 Crontabs erstellt:
0 7 * * * root /etc/init.d/hlds stop
5 7 * * * root /etc/init.d/hlds start
Leider funktioniert es nicht so wie ich das wollte. Hat wer ne Ahnung wieso??