NetVision-Technik

NetVision-Technik (http://www.netvision-technik.de/forum/index.php)
-   Webanwendungen (http://www.netvision-technik.de/forum/forumdisplay.php?f=13)
-   -   ShoutCast2 - Control-Script (http://www.netvision-technik.de/forum/showthread.php?t=7488)

Cerberus 12.03.2016 10:00

ShoutCast2 - Control-Script
 
Da leider nix passenden enthalten ist, hab ich rumgesucht und angepasst :)
Code:

#!/bin/sh
export TERM=${TERM:-dumb}

clear

#Shoutcast-Script.

#Konfiguration
stamm=$(readlink -f "$0")
pfad="$(dirname "${stamm}")"
cd "${pfad}"
programmpfad="$(pwd)"
programm="sc_serv"
configfile="sc_serv_simple.conf"
pidfile="sc_serv_8000.pid"

#Ausführung mit User root nicht möglich
if [ "${UID}" = "0" ]; then
    echo "\033[1;4;5;31mAchtung!\033[1;24;25m Das Script kann nicht mit dem User root ausgeführt werden."
    echo "Bitte führe das Script mit dem passenden User aus.\033[0m"
    exit 1
fi

case "${1}" in
    #Prüft, ob der Server läuft
    "status") if [ -f "${pidfile}" ]; then
                  if ( kill -0 $(cat "${pidfile}") 2> /dev/null ); then
                      echo "Der Server ist gestartet"
                  else
                      echo "Der Server ist nicht gestartet"
                  fi
              else
                  echo "Der Server ist nicht gestartet"
              fi
              ;;

    # Startet den SC-Server
    "start") if [ -f "${configfile}" ]; then
                break
            else
                echo "${configfile} konnte nicht gefunden werden, bitte prüfe nochmal das Startscript (Zeile 10) und die Dateien auf dem Server."
                exit 1
            fi

            if [ -e "${pidfile}" ]; then
                if ( kill -0 $(cat "${pidfile}") 2> /dev/null ); then
                    echo "Der Server ist bereits aktiv, bitte starte ihn neu oder stoppe ihn."
                    exit 1
                else
                    echo "Die Datei ${pidfile} existiert, jedoch konnte der Prozess nicht gefunden werden. Die .pid wird entfernt."
                    rm "${pidfile}"
                fi
            fi

            echo "Der Shoutcast Server wird gestartet..."

            if [ -e "${programm}" ]; then
                if [ ! -x "${programm}" ]; then
                    chmod u+x "${programm}"
                fi

                if [ -x "${programm}" ]; then
                    "./${programm}" ${configfile} > /dev/null 2>&1 &
                    echo $! > "${pidfile}"
                    echo "Der Shoutcast Server wurde erfolgreich gestartet."
                else
                    echo "\033[31m${programm} ist nicht ausführbar, der Server kann nicht gestartet werden."
                    echo "Bitte setzen Sie die Schreibrechte mit chmod 755 ${programm} in der Konsole manuell.\033[0m"
                fi
            else
                echo "\033[31m${programm} konnte nicht gefunden werden, bitte geben sie den richtigen Dateinamen in Zeile 9 des Scripts an.\033[0m"
                exit 1
            fi
            ;;

    #Beginn Stopprozedur
    "stop") if [ -e "${pidfile}" ]; then
                echo "Der Shoutcast Server wird angehalten."
                kill -KILL $(cat "${pidfile}")
                rm "${pidfile}"
            else
                echo "Im Moment ist der Shoutcastserver nicht aktiv."
                exit 1
            fi
            ;;

    #Neustartoption
    "restart") $0 stop && $0 start || exit 1
              ;;

    #Killoption
    "kill") killall -9 ${programm}
            ;;

    # Ausgabe bei Fehleingaben
    *) echo "\033[4mBitte einen Parameter mit angeben\033[0m"
        echo "${0} {status | start | stop | restart }"
        exit 1
esac
exit 0



Alle Zeitangaben in WEZ +1. Es ist jetzt 02:50 Uhr.

Powered by vBulletin® Version 3.8.9 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.