Teamspeak Server automatisch aktualisieren

In dieser Anleitung werde ich kurz darauf eingehen wie man einen Teamspeak Server automatisch updated. Automatisch bedeutet in diesem Zusammenhang, dass ihr nur eure gewünschte (neue) Version angeben müsst und das Script den rest selbständig macht. Was dieses Script nicht kann, ist automatisch checken ob eine neue Version vorhanden ist.

Um euren Teamspeak Server automatisch zu upgraden habe ich dieses kurze Script verfasst. Ihr müsst dort einfach nur die Variablen TSPATH und TSBACKUP selbsterklärend an euer Setup anpassen. Sinvoll wäre aber, wenn ihr vorher einen Service dafür konfiguriert habt, also entweder systemd oder initd. Vermutlich geht es auch mit den Teamspeak eigenen Scripten aber die habe ich nicht getested.

# Upgrade for Teamspeak Server
# Call this script with eg. bash update-teamspeak.sh 3.12.1
# Please set absolute paths!
# Set here your server directory
TSPATH=/home/teamspeak
# Path where server gets backuped befor upgrade
BACKUPPATH=/backup
if [ -z "$1" ]; then
echo "No version number given."
elif [[ $1 =~ [[:digit:]]{1,2}\.[[:digit:]]{1,2}\.[[:digit:]]{1,2} ]]; then
echo "Start upgrade"
wget -O /tmp/teamspeak3-server_linux-amd64.tar.bz2 https://files.teamspeak-services.com/releases/server/$1/teamspeak3-server_linux_amd64-$1.tar.bz2
systemctl stop teamspeak.service
tar -czvf $BACKUPPATH/ts3_backup_before_$1.tar.gz $TSPATH
tar -xjf /tmp/teamspeak3-server_linux-amd64.tar.bz2 -C $TSPATH/
chown -R teamspeak:teamspeak $TSPATH
systemctl start teamspeak.service
rm -r /tmp/teamspeak3-server_linux-amd64.tar.bz2
else
echo "Invalid version number given"
view raw update-teamspeak.sh hosted with ❤ by GitHub

Im grunde läd das Script zunächst die tar.bz2 von Teamspeak herunter, macht dann ein Backup als tar und anschließend wird die neue Version entpackt.

So kann kann beispielsweise ein Aufruf aussehen:

bash update-teamspeak.sh 3.12.1

Falls Probleme auftreten gerne hier oder bei Github ein Kommentar da lassen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

* Durch das Absenden dieses Kommentars werden deine angegebenen Daten auf dem Server gespeichert. Du stimmst dadurch den Datenschutzbedingungen zu.