Úprava spouštěcího skriptu

oukeys

Úprava spouštěcího skriptu
« kdy: 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:

Kód: [Vybrat]
#!/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.
« Poslední změna: 29. 11. 2011, 14:16:36 od Petr Krčmář »


D.A. Tiger

  • ****
  • 486
  • Tygr, který žere tučňáka ;-)
    • Zobrazit profil
    • E-mail
Re:úprava spouštěcího scriptu
« Odpověď #1 kdy: 29. 11. 2011, 14:12:42 »
Já bych to celé řešil asi takhle nějak (netestoval jsem to - je to jen návrch) :

Kód: [Vybrat]
#!/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
   #

D.A. Tiger

  • ****
  • 486
  • Tygr, který žere tučňáka ;-)
    • Zobrazit profil
    • E-mail
Re:úprava spouštěcího scriptu
« Odpověď #2 kdy: 29. 11. 2011, 14:17:25 »
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... :)

oukeys

Re:Úprava spouštěcího skriptu
« Odpověď #3 kdy: 29. 11. 2011, 15:45:47 »
Děkuji, praktikoval jsem script, upravil drobný překlik a vše je v pořádku a běží :) mockrát děkuji