- Fri Apr 29, 2016 3:16 pm
#7684
Moin,
Hier gibt es ein Neues Script von mir (TS3MB_Script): http://forum.ts3musicbot.net/viewtopic.php?f=29&t=2208
möchte euch hier gerne ein Script zum Starten, Stoppen, Restarten und Statusabfrage zur verfügung stellen.
Mit diesem Script kann der Bot auch unter Root gestartet werden, da der Bot Trodsdem als User ausgeführt wird.
Außerdem kann der Bot nicht aus versehen ein Zweites mal gestartet werden, da überprüft wird ob er bereits Läuft.
Und es kann geprüft werden ob der Bot Läuft oder nicht.
Zusätzlich könnt ihr den Bot Automatisch mit dem Server Starten Lassen und Automatisch einen Restart durchführen lassen (per Cronjob).
Ihr müsst das Script in den Ordner eures Bots Kopieren.
1. Daten Eingeben
In der Datei könnt ihr unter edit variables eure Daten eingeben.
Folgende Befehle könnt ihr Verwenden:
start
stop
restart
status
2. 2. und 3. Bot Starten
Wenn ihr einen Zweiten und Dritten Bot starten möchtet Dupliziert jetzt einfach die Datei und nennt sie z.b. "musikbot_2.sh" und "musikbot_3.sh"
Danach müsst ihr die Werte PORT und SCREENNAME auf jedenfall abändern!
Außerdem solltet ihr den Wert BOOTTIME erhöhen z.b. beim 2. Bot auf "60" und beim 3. Bot auf "90"
Optional könnt ihr auch noch den Wert NUMBER auf "2" bzw auf "3" abändern damit ihr euern Bot jeweils einen Eigenen Namen geben könnt und auch getrennt Konfigurieren könnt (Im Webinterface)
3. Script von überall Ausführen
Wenn ihr das Script von überall aus starten möchtet könnt ihr die Datei mit Folgenden befehl verlinken nach /usr/local/bin/ (als ROOT!) :
4. Auto Start und Auto Reboot
Außerdem könnt ihr per Cronjob den Bot Automatisch mit dem Server Sarten und Automatisch einen Restart durchführen.
Dafür fügt ihr in der cronjob folgende Zeilen hinzu:
crontab -e
und er macht einen Neustart um 5:01 Uhr bzw 2. Bot 5:02 bzw 3. Bot 5:03
Hier der Komplette Code:
Getestet auf Ubuntu 14.04.4 LTS
Letztes Update: 01.05.2016
Ich wünsche euch Viel Spaß :D
Mit freundlichen Grüßen
Philippe
Hier gibt es ein Neues Script von mir (TS3MB_Script): http://forum.ts3musicbot.net/viewtopic.php?f=29&t=2208
möchte euch hier gerne ein Script zum Starten, Stoppen, Restarten und Statusabfrage zur verfügung stellen.
Mit diesem Script kann der Bot auch unter Root gestartet werden, da der Bot Trodsdem als User ausgeführt wird.
Außerdem kann der Bot nicht aus versehen ein Zweites mal gestartet werden, da überprüft wird ob er bereits Läuft.
Und es kann geprüft werden ob der Bot Läuft oder nicht.
Zusätzlich könnt ihr den Bot Automatisch mit dem Server Starten Lassen und Automatisch einen Restart durchführen lassen (per Cronjob).
Ihr müsst das Script in den Ordner eures Bots Kopieren.
1. Daten Eingeben
In der Datei könnt ihr unter edit variables eure Daten eingeben.
Code: Select all
Und danach könnt ihr das Script verwenden.# --- edit variables ---
USER="philippe" #USER WHICH THE BOT RUN AT
EMAIL="EMAIL" #e.g ts3bot@email.com
PORT="8080" #e.g 8080, 8079 (1024-65535) ! WANT TO START A SECOND BOT CHANGE THIS !
MASTERPW="PASSWORD" #ADMIN PASSWORD
USERPW="PASSWORD" #USER PASSWORD
QUERY="query" #START BOT AS query OR noquery
SCREENNAME="musikbot_1" #SCREEN NAME ! WANT TO START A SECOND BOT CHANGE THIS !
NUMBER="1" #Can set which configuration should get loaded. Valid values are 1, 2 or 3 (for private licenes only).
MAXDISKSPACE="102400" #Set the maximum allowed amount of disk space to use in megabyte for music+radio folder. (102400 mb is 100 GB(1024 mb = 1 GB))
BOOTTIME="30" #This Time the Script is waiting at a Server Boot to starting the Bot
# --- edit variables END ---
Folgende Befehle könnt ihr Verwenden:
start
stop
restart
status
2. 2. und 3. Bot Starten
Wenn ihr einen Zweiten und Dritten Bot starten möchtet Dupliziert jetzt einfach die Datei und nennt sie z.b. "musikbot_2.sh" und "musikbot_3.sh"
Danach müsst ihr die Werte PORT und SCREENNAME auf jedenfall abändern!
Außerdem solltet ihr den Wert BOOTTIME erhöhen z.b. beim 2. Bot auf "60" und beim 3. Bot auf "90"
Optional könnt ihr auch noch den Wert NUMBER auf "2" bzw auf "3" abändern damit ihr euern Bot jeweils einen Eigenen Namen geben könnt und auch getrennt Konfigurieren könnt (Im Webinterface)
3. Script von überall Ausführen
Wenn ihr das Script von überall aus starten möchtet könnt ihr die Datei mit Folgenden befehl verlinken nach /usr/local/bin/ (als ROOT!) :
Code: Select all
und für den 2. und 3. Bot wäre das:
ln -s /pfad/zum/bot/musikbot_1.sh /usr/local/bin/
Code: Select all
Danach könnt ihr z.b. mit:
ln -s /pfad/zum/bot/musikbot_2.sh /usr/local/bin/
ln -s /pfad/zum/bot/musikbot_3.sh /usr/local/bin/
Code: Select all
den Bot starten von jedem verzeichnis aus.musikbot_1.sh start
4. Auto Start und Auto Reboot
Außerdem könnt ihr per Cronjob den Bot Automatisch mit dem Server Sarten und Automatisch einen Restart durchführen.
Dafür fügt ihr in der cronjob folgende Zeilen hinzu:
crontab -e
Code: Select all
Für den 2. und 3. Bot sähe das dann z.b. so aus
@reboot /pfad/zum/bot/musikbot_1.sh boot
1 5 * * * /pfad/zum/bot/musikbot_1.sh restart
Code: Select all
So Starten die Bot wenn der Server Startet@reboot /pfad/zum/bot/musikbot_2.sh boot
2 5 * * * /pfad/zum/bot/musikbot_2.sh restart
@reboot /pfad/zum/bot/musikbot_3.sh boot
3 5 * * * /pfad/zum/bot/musikbot_3.sh restart
und er macht einen Neustart um 5:01 Uhr bzw 2. Bot 5:02 bzw 3. Bot 5:03
Hier der Komplette Code:
Code: Select all
Datei ist auch als Anhang mit dabei.#!/bin/sh
# DON'T CHANGE THAT OR IT GET BROKEN!
D1=$(readlink -f "$0")
BINARYPATH="$(dirname "${D1}")"
cd "${BINARYPATH}"
LIBRARYPATH="$(pwd)"
# DON'T CHANGE THAT OR IT GET BROKEN!
# --- edit variables ---
USER="philippe" #USER WHICH THE BOT RUN AT
EMAIL="EMAIL" #e.g ts3bot@email.com
PORT="8080" #e.g 8080, 8079 (1024-65535) ! WANT TO START A SECOND BOT CHANGE THIS !
MASTERPW="PASSWORD" #ADMIN PASSWORD
USERPW="PASSWORD" #USER PASSWORD
QUERY="query" #START BOT AS query OR noquery
SCREENNAME="musikbot_1" #SCREEN NAME ! WANT TO START A SECOND BOT CHANGE THIS !
NUMBER="1" #Can set which configuration should get loaded. Valid values are 1, 2 or 3 (for private licenes only).
MAXDISKSPACE="102400" #Set the maximum allowed amount of disk space to use in megabyte for music+radio folder. (102400 mb is 100 GB(1024 mb = 1 GB))
BOOTTIME="30" #This Time the Script is waiting at a Server Boot to starting the Bot
# --- edit variables END ---
#Do you will have a auto restart? Then you add the follow lines in the crontab without the (#)
#1 5 * * * /pfad/zum/bot/musikbot_1.sh restart
#Then the Bot restart Every Day at 5:01 Uhr
#
#whith this line the bot starting when the server starting:
#@reboot /pfad/zum/bot/musikbot_1.sh boot
#CHANGE IF YOU WANT BUT DON'T ASK WHY YOUR CONFIGURATION DOESN'T WORK
case "$1" in
start)
if whoami | grep -q -w $USER; then
if screen -list | grep -q -w $SCREENNAME; then
echo "TS3MusikBot is already running. try stop or restart"
exit 1
else
screen -AmdS $SCREENNAME ./TS3MusicBot_runscript.sh -account $EMAIL -port $PORT -webif-pw $MASTERPW -webif-pw-user $USERPW -$QUERY -number $NUMBER -max-disk-space $MAXDISKSPACE
sleep 10
if screen -list | grep -q -w $SCREENNAME; then
echo "TS3MusikBot is running"
else echo "TS3MusikBot is not running!"
fi
fi
else
if su $USER -c "screen -list" | grep -q -w $SCREENNAME; then
echo "TS3MusikBot is already running"
exit 1
else
su $USER -c "screen -AmdS $SCREENNAME ./TS3MusicBot_runscript.sh -account $EMAIL -port $PORT -webif-pw $MASTERPW -webif-pw-user $USERPW -$QUERY -number $NUMBER -max-disk-space $MAXDISKSPACE"
sleep 10
if su $USER -c "screen -list" | grep -q -w $SCREENNAME; then
echo "TS3MusikBot is running"
else echo "TS3MusikBot is not running!"
fi
fi
fi
;;
stop)
if whoami | grep -q -w $USER; then
screen -S $SCREENNAME -X stuff 'stop\n'
sleep 5
if screen -list | grep -q -w $SCREENNAME; then
screen -p 0 -S $SCREENNAME -X quit
fi
else su $USER -c "screen -S $SCREENNAME -X stuff $'quit\n'"
sleep 5
if su $USER -c "screen -list" | grep -q -w $SCREENNAME; then
su $USER -c "screen -p 0 -S $SCREENNAME -X quit"
fi
fi
echo "TS3MusikBot is stopping"
;;
restart)
echo "TS3MusikBot is restarting ..."
$0 stop
sleep 25
$0 start
;;
status)
if whoami | grep -q -w $USER; then
if screen -list | grep -q -w $SCREENNAME; then
echo "TS3MusikBot is running"
else echo "TS3MusikBot is not running"
fi
elif su $USER -c "screen -list" | grep -q -w $SCREENNAME; then
echo "TS3MusikBot is running"
else echo "TS3MusikBot is not running"
fi
;;
boot)
# This is for Crontab @reboot
sleep $BOOTTIME
$0 start
;;
*)
echo "Benutze: ${0} {start|stop|restart|status} made by philw95(Philippe)"
exit 1
esac
exit 0
#THAT'S THE END OF THE CONFIG
#Made by philw95(Philippe)
Getestet auf Ubuntu 14.04.4 LTS
Letztes Update: 01.05.2016
Ich wünsche euch Viel Spaß :D
Mit freundlichen Grüßen
Philippe
Attachments
(3.38 KiB) Downloaded 526 times
Last edited by philippe on Tue May 09, 2017 3:15 pm, edited 12 times in total.
Crypto90 liked this