Fórum Root.cz
Hlavní témata => Server => Téma založeno: oukeys 29. 11. 2011, 13:45:59
-
Zdravím všechny, kteří sem zabloudili.
Chtěl bych se optat, zda by mi někdo nepomohl upravit tento spouštěcí script. Potřebuji tam přidat funkci restart. Tedy aby se server vypnul, počkat třeba 5 vteřin a spustil. V tuto chvíli gunguje takto. ./script (zapne se) ./script stop (vypnete) potřeboval bych tedy ./script restart (vypne se, počká 5 vteřin a zapne se tedy (./script stop počká 5 vteřin a poté ./script))
Stávající script:
#!/bin/bash
port=25565
id=`ps -AF |grep "nogui $port" |grep -v grep | awk '{print $2}'`
if [ "$1" == "find" ]; then
if [ ! "$id" == "" ]; then
echo "Server "$port" uz bezi."
else
echo "Server "$port" nebezi."
fi
exit 0
fi
if [ ! "$id" == "" ]; then
if [ "$1" == "stop" ]; then
kill -9 $id
echo "Server "$port" zastaven."
else
echo "Server "$port" uz bezi."
fi
exit 0
else
if [ "$1" == "stop" ]; then
exit 0
fi
echo "Spoustim server "$port"."
#
cd /games/minecraft/$port
screen -A -m -d -S $port java -Xincgc -Xmx3072M -jar craftbukkit-1.0.0-NAPSHOT.jar nogui
#
fi
Předem děkuji, pokud se někdo najde a pomůže.
-
Já bych to celé řešil asi takhle nějak (netestoval jsem to - je to jen návrch) :
#!/bin/bash
port=25565
TIMEOUT=5
id=`ps -AF |grep "nogui $port" |grep -v grep | awk '{print $2}'`
case "$1" in
"find" )
if [ ! "$id" == "" ]; then
echo "Server "$port" uz bezi."
else
echo "Server "$port" nebezi."
fi
exit 0
;;
"stop" )
if [ ! "$id" == "" ]; then
kill -9 $id
echo "Server "$port" zastaven."
fi
exit 0
;;
"restat" )
if [ ! "$id" == "" ]; then
kill -9 $id
echo "server "$port" restartuje"
else
echo "server "$port" startuje"
fi
sleep $TIMEOUT
;;
esac
echo "Spoustim server "$port"."
#
cd /games/minecraft/$port
screen -A -m -d -S $port java -Xincgc -Xmx3072M -jar craftbukkit-1.0.0-NAPSHOT.jar nogui
#
-
Ještě bych k tomu přidal funkci, která by prováděla ten test pid, a potom by vypsala zda server běží či ne a vrátila odpovídající hodnotu. Je to jen pro zjednodušení celého skriptu... :)
-
Děkuji, praktikoval jsem script, upravil drobný překlik a vše je v pořádku a běží :) mockrát děkuji