Spielserver Backup und Wiederherstellung
Spielserver automatisches Backup, Cron-Konfiguration, Remote-Backup mit rsync und Weltdateiverwaltung.
Inhaltsverzeichnis
Einleitung
Spielserver-Backup ist der wichtigste Schritt zur Vermeidung von Datenverlust. Weltdateien, Spielerdaten, Konfigurationsdateien und Mod/Plugin-Einstellungen sollten regelmäßig gesichert werden. Dieser Leitfaden behandelt automatische Backup-Skripte, Cron-Konfiguration, Remote-Backup mit rsync und Weltdateiverwaltung für verschiedene Spielserver.
Backup-Strategie
3-2-1-Regel
- 3 Kopien: Original + 2 Backups
- 2 verschiedene Medien: Lokale Festplatte + Remote-Server
- 1 extern: Backup an einem anderen Standort
Backup-Typen
| Typ | Beschreibung | Vorteil | Nachteil |
|---|---|---|---|
| Vollständig | Sichert alle Dateien | Einfache Wiederherstellung | Große Größe |
| Inkrementell | Nur geänderte Dateien | Kleine Größe | Komplexe Wiederherstellung |
| Differenziell | Änderungen seit letztem Vollbackup | Mittlere Größe | Mittlere Komplexität |
Automatisches Backup-Skript
Allzweck-Backup
nano ~/backup_gameserver.sh
#!/bin/bash
GAME_NAME=${1:-"gameserver"}
BACKUP_BASE="/home/steam/backups"
DATE=$(date +%Y%m%d_%H%M%S)
RETENTION_DAYS=7
LOG="/home/steam/backup.log"
declare -A SAVE_DIRS
SAVE_DIRS[minecraft]="/home/steam/minecraft/world /home/steam/minecraft/plugins"
SAVE_DIRS[rust]="/home/steam/rustserver/server/rust /home/steam/rustserver/oxide"
SAVE_DIRS[fivem]="/home/steam/fxserver/resources /home/steam/fxserver/server-data"
SAVE_DIRS[vrising]="/home/steam/vrising/save-data"
SAVE_DIRS[satisfactory]="/home/steam/satisfactory/.config/Epic/FactoryServer/Saved/SaveGames"
SAVE_DIRS[pz]="/home/steam/Zomboid/Saves /home/steam/Zomboid/Server"
SAVE_DIRS[enshrouded]="/home/steam/enshrouded/savegame"
BACKUP_DIR="$BACKUP_BASE/$GAME_NAME"
mkdir -p "$BACKUP_DIR"
echo "$(date): Starting $GAME_NAME backup..." >> $LOG
if [ -n "${SAVE_DIRS[$GAME_NAME]}" ]; then
tar -czf "$BACKUP_DIR/${GAME_NAME}_${DATE}.tar.gz" ${SAVE_DIRS[$GAME_NAME]} 2>/dev/null
if [ $? -eq 0 ]; then
SIZE=$(du -h "$BACKUP_DIR/${GAME_NAME}_${DATE}.tar.gz" | cut -f1)
echo "$(date): Backup successful - $SIZE" >> $LOG
else
echo "$(date): ERROR - Backup failed!" >> $LOG
fi
else
echo "$(date): ERROR - Unknown game: $GAME_NAME" >> $LOG
exit 1
fi
find "$BACKUP_DIR" -name "*.tar.gz" -mtime +$RETENTION_DAYS -delete
COUNT=$(find "$BACKUP_DIR" -name "*.tar.gz" | wc -l)
echo "$(date): Cleanup done. Current backup count: $COUNT" >> $LOG
chmod +x ~/backup_gameserver.sh
Automatisches Cron-Backup
Crontab-Konfiguration
crontab -e
# Minecraft alle 4 Stunden sichern
0 */4 * * * /home/steam/backup_gameserver.sh minecraft
# Rust alle 6 Stunden sichern
0 */6 * * * /home/steam/backup_gameserver.sh rust
# Tägliches FiveM-Backup
0 3 * * * /home/steam/backup_gameserver.sh fivem
# Tägliches V Rising-Backup
0 4 * * * /home/steam/backup_gameserver.sh vrising
# Wöchentliches Vollbackup (Sonntag 02:00)
0 2 * * 0 /home/steam/backup_full.sh
Cron-Ausdrucks-Leitfaden
# Minute (0-59) | Stunde (0-23) | Tag (1-31) | Monat (1-12) | Wochentag (0-7)
# * * * * * Befehl
Remote-Backup mit rsync
rsync-Installation
sudo apt install rsync -y
Backup auf Remote-Server
nano ~/remote_backup.sh
#!/bin/bash
REMOTE_HOST="backup.example.com"
REMOTE_USER="backup"
REMOTE_DIR="/backups/gameserver"
LOCAL_DIR="/home/steam/backups"
LOG="/home/steam/remote_backup.log"
echo "$(date): Starting remote backup..." >> $LOG
rsync -avz --delete \
-e "ssh -p 22 -i /home/steam/.ssh/backup_key" \
"$LOCAL_DIR/" \
"$REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR/"
if [ $? -eq 0 ]; then
echo "$(date): Remote backup successful." >> $LOG
else
echo "$(date): ERROR - Remote backup failed!" >> $LOG
fi
chmod +x ~/remote_backup.sh
crontab -e
0 5 * * * /home/steam/remote_backup.sh
rsync-Parameter
| Parameter | Beschreibung |
|---|---|
| -a | Archivmodus (bewahrt Berechtigungen, Daten) |
| -v | Ausführliche Ausgabe |
| -z | Komprimierung |
| --delete | Löscht Dateien, die nicht in der Quelle sind, aus dem Ziel |
| -e | SSH-Verbindungsparameter |
Weltdateiverwaltung
Minecraft-Weltdateien
# Weltverzeichnisse
~/minecraft/world/
~/minecraft/world_nether/
~/minecraft/world_the_end/
# Vor Backup speichern
screen -S minecraft -p 0 -X stuff "save-all\n"
sleep 5
screen -S minecraft -p 0 -X stuff "save-off\n"
tar -czf ~/backups/minecraft/world_$(date +%Y%m%d).tar.gz ~/minecraft/world*
screen -S minecraft -p 0 -X stuff "save-on\n"
Rust-Weltdateien
~/rustserver/server/rust/
~/rustserver/server/rust/player.blueprints.5.db
~/rustserver/server/rust/proceduralmap.*.sav
Wiederherstellung
Allgemeine Wiederherstellungsschritte
# 1. Server stoppen
sudo systemctl stop gameserver
# 2. Aktuelle Dateien sichern (Sicherheit)
mv ~/gameserver/save ~/gameserver/save_old
# 3. Backup wiederherstellen
tar -xzf ~/backups/gameserver/gameserver_20250101_120000.tar.gz -C /
# 4. Server starten
sudo systemctl start gameserver
# 5. Logs prüfen
sudo journalctl -u gameserver -f
Spezifische Dateien wiederherstellen
# Backup-Inhalt auflisten
tar -tzf ~/backups/gameserver/gameserver_20250101_120000.tar.gz
# Spezifische Datei extrahieren
tar -xzf ~/backups/gameserver/gameserver_20250101_120000.tar.gz home/steam/gameserver/config.ini
Backup-Überwachung
# Backup-Größen prüfen
du -sh ~/backups/*/
# Neueste Backups auflisten
ls -lht ~/backups/minecraft/ | head -10
# Festplattennutzung prüfen
df -h
Fazit
Regelmäßiges Backup ist ein wesentlicher Bestandteil der Spielserver-Verwaltung. Mit automatischen Backup-Skripten, Cron-Planung und rsync-Remote-Backup können Sie Ihre Daten sicher aufbewahren. Die REXE VDS NVMe SSD-Infrastruktur ermöglicht schnelle Backup- und Wiederherstellungsvorgänge.
Verwandte Artikel
FiveM-Server einrichten: Schritt-für-Schritt-Anleitung
Vollständige Anleitung zur FiveM-Server-Installation auf REXE VDS: txAdmin-Konfiguration, Port-Einstellungen und Leistungsoptimierung für GTA V Roleplay-Server.
Minecraft-Server einrichten: Paper-Installationsanleitung
Vollständige Anleitung zur Minecraft-Server-Installation auf REXE VDS: Paper/Spigot, Java-Konfiguration, Plugin-Verwaltung und Leistungsoptimierung für stabiles Gameplay.
CS2-Server einrichten: Vollständige Anleitung mit SteamCMD
Vollständige Anleitung zur CS2 Dedicated-Server-Installation auf REXE VDS: SteamCMD, GSLT-Token, Serverkonfiguration, Spielmodi und DDoS-Schutz mit Path Panel.