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" |
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.