📦 Hetzner Storage Box als Offsite-Backup für Proxmox verwenden

📦 Hetzner Storage Box als Offsite-Backup für Proxmox verwenden

🧠 Überblick

Dieses Setup speichert automatisch tägliche Backups deiner Proxmox-VMs und LXC-Container auf deiner Hetzner Storage Box (BX11). Die Backups werden auf dem jeweiligen Server via Proxmox-Plan erstellt und per SSH (Port 23) auf die Storage Box übertragen.


🔐 Voraussetzungen

  • Hetzner Storage Box mit SSH aktiviert (Port 23)
  • SSH-Key auf der Box eingerichtet (siehe unten)
  • Proxmox-Host (lokal oder VPS)
  • /var/lib/vz als aktives Backup-Storage

🔧 Schritt 1: SSH-Key auf die Storage Box laden

ssh-keygen -t ed25519 -C "proxmox-storagebox"
cat ~/.ssh/id_ed25519.pub | ssh -p 23 <STORAGEBOX_USER>@<STORAGEBOX_USER>.<STORAGEBOX_HOST> install-ssh-key
ssh -p 23 <STORAGEBOX_USER>@<STORAGEBOX_USER>.<STORAGEBOX_HOST>

📅 Schritt 2: Proxmox GUI – Backup-Job erstellen

  1. In der Proxmox Web-GUI: Datacenter → Backup → Add
  2. Einstellungen:
    • Storage: local (→ /var/lib/vz)
    • Selection Mode: All oder spezifische VMs/LXCs
    • Schedule: täglich um 00:00
    • Mode: Snapshot
    • Compression: zstd
    • Max backups: z. B. 3

🤖 Schritt 3: Backup-Skript zur Storage Box

Datei erstellen:

nano /root/backup_to_storagebox.sh

Inhalt:

#!/bin/bash

BACKUP_DIR="/var/lib/vz/dump"
REMOTE_USER="<STORAGEBOX_USER>"
REMOTE_HOST="<STORAGEBOX_USER>.<STORAGEBOX_HOST>"
REMOTE_PORT=23
REMOTE_BASE_PATH="/home/<STORAGEBOX_USER>/<BACKUP_FOLDER>"
DATE=$(date +%F)

echo "[INFO] Übertrage Backups nach $REMOTE_HOST..."
ssh -p $REMOTE_PORT ${REMOTE_USER}@${REMOTE_HOST} "mkdir -p ${REMOTE_BASE_PATH}/${DATE}"
rsync -avz -e "ssh -p $REMOTE_PORT" ${BACKUP_DIR}/ ${REMOTE_USER}@${REMOTE_HOST}:${REMOTE_BASE_PATH}/${DATE}/

echo "[INFO] Bereinige lokale Backups älter als 7 Tage..."
find $BACKUP_DIR -type f -mtime +7 -name "*.zst" -delete

echo "[INFO] Backup abgeschlossen: $(date)"

Datei ausführbar machen:

chmod +x /root/backup_to_storagebox.sh

⏰ Schritt 4: Cronjob einrichten

crontab -e

Einfügen:

0 1 * * * /root/backup_to_storagebox.sh >> /var/log/proxmox_storagebox_backup.log 2>&1

🧪 Optional: Testlauf

/root/backup_to_storagebox.sh

Dann per SSH prüfen:

ssh -p 23 <STORAGEBOX_USER>@<STORAGEBOX_USER>.<STORAGEBOX_HOST>
ls /home/<STORAGEBOX_USER>/<BACKUP_FOLDER>/$(date +%F)

🧼 Optional: Alte Remote-Backups aufräumen

ssh -p $REMOTE_PORT ${REMOTE_USER}@${REMOTE_HOST} "find ${REMOTE_BASE_PATH}/* -maxdepth 0 -type d -mtime +10 -exec rm -rf {} \;"

✅ Fazit

Mit dieser Methode hast du ein vollautomatisiertes Offsite-Backup, das sich leicht warten und anpassen lässt – ohne zusätzliche Tools, Agents oder externe Abhängigkeiten.