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.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# 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"

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:

1
bash update-teamspeak.sh 3.12.1

Wenn du Fragen, Probleme oder Fehler gefunden hast kontaktiere mich einfach.