Rusticus
Registered User
Hallo,
nachdem ich eigentlich ein paa Ventrilos laufen lassen wollte und manuel mir zu blöd war, jeden einzeln zu starten, hab ich mir gedacht, ich mache mir ein Script.
Ich hatte bereits mit dem Script einen Server am laufen und hab dann weiter "gebastelt". Aber i-wann kam dann folgender Fehler:
oder
Was nicht gefunden wird, variiert.
Der Teil der meiner Meinung nach nicht mehr geht, ist direkt aus dem Beispielscript in der Ventrilo ReadMe
Beispielscript:
Eigenes Script
Anmerkung: Es ist von der Funktion noch NICHT fertig und ich will mir vorerst nicht anhörn wie schlecht es gecoded ist.
Hoffe ihr könnt mir weiterhelfen und mir bei meinen kleinen Script weiterhelfen
Rusticus
nachdem ich eigentlich ein paa Ventrilos laufen lassen wollte und manuel mir zu blöd war, jeden einzeln zu starten, hab ich mir gedacht, ich mache mir ein Script.
Ich hatte bereits mit dem Script einen Server am laufen und hab dann weiter "gebastelt". Aber i-wann kam dann folgender Fehler:
Code:
bash: line 1: -d: command not found
Code:
bash: line 1: -f/home/ventrilo/servers/9440: Datei oder Verzeichnis nicht gefunden
Was nicht gefunden wird, variiert.
Der Teil der meiner Meinung nach nicht mehr geht, ist direkt aus dem Beispielscript in der Ventrilo ReadMe
Beispielscript:
Code:
# Startup ventrilo servers.
VENPATH=/home/ventrilo
VENBIN=$VENPATH/ventrilo_srv
su ventrilo -c "$VENBIN -f$VENPATH/3784 -d"
su ventrilo -c "$VENBIN -f$VENPATH/4000 -d"
renice -5 `cat $VENPATH/3784.pid`
renice -5 `cat $VENPATH/4000.pid
Eigenes Script
Anmerkung: Es ist von der Funktion noch NICHT fertig und ich will mir vorerst nicht anhörn wie schlecht es gecoded ist.
Code:
#!/bin/bash
#######Auszuführender User##################################################################################
user=ventrilo
#######Ventrilo Verzeichnis angeben. ABSOLUTE ANGABE!########################################################
VENPATH=/home/ventrilo/servers
#######Port Range definiren; PortMin ist die unter Grenze, Port Max die obere################################
PortrangeEnable=1 #1 = ON ; 0 = OFF
portmin=9000 #Falls keine Untergrenze vorhanden, bitte 0 angeben
portmax=9800 #Falls keine Obergrenze vorhanden, bitte möglichst hohen Wert angeben
##############################################################################################################
cd $VENPATH
case $1 in
start)
echo "Ventrilo Starterscript 1.2 by Rusticus"
echo ""
echo "Serverport des zu startenden Servers eingeben!"
echo "Serverport:"
read port
echo "Script überprüft nun die Eingaben für Server $port ..."
echo ""
VENBIN=${VENPATH}/$port
if [ $PortrangeEnable = 1 ] ; then
echo "Portrange wird überprüft..."
echo ""
if [ $port -lt $portmax ]; then
echo "Port innerhalb der Obergrenze"
echo ""
else
echo "Port nicht in der Portrange"
echo "Bitte Serverdatein anpassen!"
echo "Script wird beendet..."
exit 6
fi
if [ $port -gt $portmin ]; then
echo "Port innerhalb der unteren Grenze"
echo ""
else
echo "Port nicht in der Portrange"
echo "Bitte Serverdatein anpassen!"
echo "Script wird beendet..."
exit 7
fi
fi
if [ -f ${port}.pid ]; then
echo "${port}.pid exestiert bereits!"
echo "Anscheinend läuft der Server schon, falls du"
echo "dir sicher bist, das der Server ${port} nicht"
echo "läuft, kannst du die ${port}.pid manuel löschen"
echo "oder löschen lassen."
echo ""
echo -e "Möchtest du \033[1;31mAbbrechen(1)\033[0m oder ${port}.pid löschen lasssen(2)?"
read del
echo ""
case "$del" in
1) exit 5 ;;
2) rm -i ${venpath}-${port}.pid
if [ -f ${port}.pid ]
then
echo "Löschung fehlgeschlagen!"
echo ""
else
echo "Löschung erfolgreich"
echo ""
fi ;;
*) echo "Ungültie Eingabe!Script wird beendet!" ;;
esac
fi
if [ -e $port ];
then echo "Serverdatei vorhanden"
echo "Prüfung wird fortgesetzt"
echo ""
if [ -f ${port}.ini ];
then echo "${port}.ini-Datei vorhanden"
echo "Prüfung wird fortgesetzt"
echo ""
if [ -f ${port}.usr ];
then echo "${port}.usr-Datei vorhanden"
echo "Prüfung wird fortgesetzt"
echo ""
else echo "${port}.usr-Datei nicht vorhanden"
echo "Bitte ${port}.urs-Datei anpassen und Script neu starten"
exit 3
fi
else echo "${port}.ini-Datei nicht vorhanden"
echo "Bitte ${port}.ini-Datei anpassen und Script neu Starten"
exit 2
fi
else echo "Serverdatei nicht vorhanden!!"
echo "Bitte Serverdatei anpassen und Script neu starten"
exit 1
fi
echo "Serverdatei wird jetzt auf Ausführbarkeit überprüft"
echo ""
if [ -x $port ];then
echo "Serverdatei ist ausführbar"
echo "Server wird jetzt gestartet..."
else
echo "Serverdatei ist nicht ausführbar!"
echo "Es wird versucht die Rechte zu setzen"
echo ""
chmod +X $port
if [ -x $port ]; then
echo "Serverdatei ist jetzt ausführbar"
echo ""
else
echo "Rechten konnten nicht gesetzt werden, bitte manuel setzen"
echo "Script wird beendet"
exit 4
fi
fi
su $user -c "$venbin -f${VENPATH}/${port} -d"
exit 0
;;
stop)
echo "Ventrilo Starterscript 1.2 by Rusticus"
echo ""
echo "Serverport des zu stoppenden Servers wählen"
echo "Serverport" read port
echo ""
if [ -e $port.pid ]; then
echo " Server scheint zu laufen und wird nun beendet"
else echo "Server scheint bereits gestoppt zu sein"
fi
exit 10 ;;
*) echo "Falsche Eingabe! Mögliche Startparameter:"
echo "{Start|Restart|Stopp|Status}"
exit 11
;;
esac
Hoffe ihr könnt mir weiterhelfen und mir bei meinen kleinen Script weiterhelfen
Rusticus