NoPaste

TS startscript

von tests

SNIPPET_TEXT:
  1. #!/bin/sh
  2. # Copyright (c) 2010 TeamSpeak Systems GmbH
  3. # All rights reserved
  4.  
  5. COMMANDLINE_PARAMETERS="${2}" #add any command line parameters you want to pass here
  6. D1=$(readlink -f "$0")
  7. BINARYPATH="$(dirname "${D1}")"
  8. cd "${BINARYPATH}"
  9. LIBRARYPATH="$(pwd)"
  10. BINARYNAME="ts3server"
  11.  
  12. case "$1" in
  13.         start)
  14.                 if [ -e ts3server.pid ]; then
  15.                         if ( kill -0 $(cat ts3server.pid) 2> /dev/null ); then
  16.                                 echo "The server is already running, try restart or stop"
  17.                                 exit 1
  18.                         else
  19.                                 echo "ts3server.pid found, but no server running. Possibly your previously started server crashed"
  20.                                 echo "Please view the logfile for details."
  21.                                 rm ts3server.pid
  22.                         fi
  23.                 fi
  24.                 if [ "${UID}" = "0" ]; then
  25.                         echo WARNING ! For security reasons we advise: DO NOT RUN THE SERVER AS ROOT
  26.                         c=1
  27.                         while [ "$c" -le 10 ]; do
  28.                                 echo -n "!"
  29.                                 sleep 1
  30.                                 c=$(($c+1))
  31.                         done
  32.                         echo "!"
  33.                 fi
  34.                 echo "Starting the TeamSpeak 3 server"
  35.                 if [ -e "$BINARYNAME" ]; then
  36.                         if [ ! -x "$BINARYNAME" ]; then
  37.                                 echo "${BINARYNAME} is not executable, trying to set it"
  38.                                 chmod u+x "${BINARYNAME}"
  39.                         fi
  40.                         if [ -x "$BINARYNAME" ]; then
  41.                                 export LD_LIBRARY_PATH="${LIBRARYPATH}:${LD_LIBRARY_PATH}"                                     
  42.                                 "./${BINARYNAME}" ${COMMANDLINE_PARAMETERS} > /dev/null &
  43.                                 PID=$!
  44.                                 ps -p ${PID} > /dev/null 2>&1
  45.                                 if [ "$?" -ne "0" ]; then
  46.                                         echo "TeamSpeak 3 server could not start"
  47.                                 else
  48.                                         echo $PID > ts3server.pid
  49.                                         echo "TeamSpeak 3 server started, for details please view the log file"
  50.                                 fi
  51.                         else
  52.                                 echo "${BINARNAME} is not exectuable, cannot start TeamSpeak 3 server"
  53.                         fi
  54.                 else
  55.                         echo "Could not find binary, aborting"
  56.                         exit 5
  57.                 fi
  58.         ;;
  59.         stop)
  60.                 if [ -e ts3server.pid ]; then
  61.                         echo -n "Stopping the TeamSpeak 3 server"
  62.                         if ( kill -TERM $(cat ts3server.pid) 2> /dev/null ); then
  63.                                 c=1
  64.                                 while [ "$c" -le 300 ]; do
  65.                                         if ( kill -0 $(cat ts3server.pid) 2> /dev/null ); then
  66.                                                 echo -n "."
  67.                                                 sleep 1
  68.                                         else
  69.                                                 break
  70.                                         fi
  71.                                         c=$(($c+1))
  72.                                 done
  73.                         fi
  74.                         if ( kill -0 $(cat ts3server.pid) 2> /dev/null ); then
  75.                                 echo "Server is not shutting down cleanly - killing"
  76.                                 kill -KILL $(cat ts3server.pid)
  77.                         else
  78.                                 echo "done"
  79.                         fi
  80.                         rm ts3server.pid
  81.                 else
  82.                         echo "No server running (ts3server.pid is missing)"
  83.                         exit 7
  84.                 fi
  85.         ;;
  86.         restart)
  87.                 $0 stop && $0 start ${COMMANDLINE_PARAMETERS} || exit 1
  88.         ;;
  89.         status)
  90.                 if [ -e ts3server.pid ]; then
  91.                         if ( kill -0 $(cat ts3server.pid) 2> /dev/null ); then
  92.                                 echo "Server is running"
  93.                         else
  94.                                 echo "Server seems to have died"
  95.                         fi
  96.                 else
  97.                         echo "No server running (ts3server.pid is missing)"
  98.                 fi
  99.         ;;
  100.         *)
  101.                 echo "Usage: ${0} {start|stop|restart|status}"
  102.                 exit 2
  103. esac
  104. exit 0

Quellcode

Hier kannst du den Code kopieren und ihn in deinen bevorzugten Editor einfügen. PASTEBIN_DOWNLOAD_SNIPPET_EXPLAIN