35 lines
911 B
Bash
35 lines
911 B
Bash
#!/bin/bash
|
|
|
|
#relative path
|
|
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
|
|
|
|
CONTAINER="mc-vanilla"
|
|
BACKUP_DIR="/mnt/backups/minecraft_backups/frankstein"
|
|
WORLD_DIR="$DIR/data/world"
|
|
|
|
mapfile -t BACKUPS < <(ls -1t "$BACKUP_DIR"/world_*.tar.gz)
|
|
if [ ${#BACKUPS[@]} -eq 0 ]; then
|
|
echo "❌ Žádné zálohy nenalezeny!"
|
|
exit 1
|
|
fi
|
|
|
|
echo "📦 Dostupné zálohy:"
|
|
for i in "${!BACKUPS[@]}"; do
|
|
echo "[$i] ${BACKUPS[$i]}"
|
|
done
|
|
|
|
read -p "🔁 Zadej číslo zálohy: " INDEX
|
|
SELECTED="${BACKUPS[$INDEX]}"
|
|
[ -z "$SELECTED" ] && echo "❌ Neplatný výběr." && exit 1
|
|
|
|
read -p "⚠️ Přepsat svět? (y/N): " CONFIRM
|
|
[[ "$CONFIRM" != "y" && "$CONFIRM" != "Y" ]] && exit 0
|
|
|
|
docker compose stop "$CONTAINER"
|
|
rm -rf "$WORLD_DIR"
|
|
tar -xzf "$SELECTED" -C .
|
|
|
|
read -p "▶️ Spustit server? (y/N): " AUTOSTART
|
|
[[ "$AUTOSTART" == "y" || "$AUTOSTART" == "Y" ]] && docker compose up -d --force-recreate "$CONTAINER"
|