Backup Architecture · Technical Reference · 2026

Proxmox & Synology
Backup-Dokumentation

Eine vollständige Anleitung zur 3-2-1-Backup-Strategie für die Hosts scpve und pveforum mit Synology DSSEC und pCloud Off-Site-Sicherung.

Erstellt
25. Mai 2026
Autor
Steffen / Claude
Hosts
scpve · pveforum
Storage
DSSEC + pCloud (1 TB)
— Kapitel 01 —

Die Übersicht

Dieses Backup-System folgt der bewährten 3-2-1-Regel: drei Kopien deiner Daten, auf zwei unterschiedlichen Medien, davon eine außerhalb des Standorts. Es schützt vor Hardware-Ausfällen, versehentlichem Löschen, Ransomware-Befall und sogar physischen Katastrophen wie Brand oder Diebstahl.

Die Komponenten im Überblick

2
Proxmox-Hosts
9
VMs / Container
3
Backup-Stufen
1 TB
pCloud-Speicher

Die 3-2-1-Architektur

┌──────────────────────────────────────────────────────────────────┐
│                                                                    │
│   PRIMÄR     scpve (192.168.178.8)                              │
│              ├── CT 100  121-CoolDB-Catta                          │
│              ├── CT 122  g50zeiten                                 │
│              ├── CT 123  g50risc                                   │
│              ├── CT 131  Docker-Debian                             │
│              ├── CT 132  Webserver-nginx                           │
│              └── VM 101  Netwatch                                  │
│                                                                    │
│              pveforum (192.168.178.192)                          │
│              ├── CT 102  Nextcloud                                 │
│              ├── VM 103  VPN                                       │
│              └── VM 105  Dashy                                     │
│                                                                    │
│                                                                   │
│                                                                   │
│                                                                    │
│   STUFE 1 — LOKAL         backup-lokal-sata                       │
│                          /ZFS-POOL3-SATA/backups (nur scpve)       │
│                                                                    │
│                                                                   │
│                                                                   │
│                                                                    │
│   STUFE 2 — NETZWERK      DSSEC (192.168.178.3)                  │
│                          /volume1/Backups-Proxmox-Mini-IP-8        │
│                          /volume1/Backups-Proxmox-pveforum-IP-192  │
│                          + host-config beider Hosts                │
│                                                                    │
│                                                                   │
│                                                                   │
│                                                                    │
│   STUFE 3 — OFF-SITE      pCloud EU (via rclone)                 │
│                          Backups-Proxmox-Mini-IP-8/                │
│                          Backups-Proxmox-pveforum-IP-192/          │
│                          Lexware-Sicherung/                        │
│                                                                    │
│                                                                   │
│                                                                   │
│                                                                    │
│   BENACHRICHTIGUNG        Email an scatta@gmx.de bei jedem Lauf  │
│                                                                    │
└──────────────────────────────────────────────────────────────────┘

Zeitplan im Tagesverlauf

02:00
VM/CT-Backup lokal
Alle VMs/CTs auf SATA-Platte (ZFS-POOL3-SATA)
scpve
02:30
VM/CT-Backup Synology
Nextcloud, VPN, Dashy auf DSSEC
pveforum
03:30
VM/CT-Backup Synology
Alle 6 VMs/CTs auf DSSEC
scpve
04:00 So
Host-Config-Backup
/etc/pve etc. von beiden Hosts
scpve + pveforum
06:00
pCloud-Sync
Alle Backups + Lexware-Daten in die Cloud
DSSEC
Retention-Strategie

Proxmox-Backups: Lokal & Synology je 3+7 täglich + 4 wöchentlich (+ 6 monatlich für Synology) | pCloud: max. 3 Tagessets

Host-Configs: Letzte 3 Backups pro Host (wöchentlich)

Lexware: Vollständiger Spiegel — keine Löschung in pCloud (sammelt sich seit 2018 an)

Backups, die nicht getestet wurden, existieren nicht. Backups, die nicht automatisch laufen, existieren bald nicht mehr.

— Kapitel 02 —

Host scpve · MiniPC

Der MiniPC (192.168.178.8) ist der Hauptserver mit den meisten VMs und Containern. Er verfügt über drei separate ZFS-Pools, was uns die Möglichkeit gibt, ein lokales Backup auf einer separaten Platte abzulegen.

Storage-Layout

StorageTypGrößeVerwendung
ZFS-POOL1ZFS3.62 TBLaufende VMs/CTs
ZFS-POOL3ZFS928 GBReserve
ZFS-POOL3-SATAZFS464 GBLokales Backup
backup-lokal-sataVerzeichnis464 GBVZDump-Ziel (lokal)
synology-minipcSMB/CIFS13 TBVZDump-Ziel (Synology)

Aufbau Schritt für Schritt

  1. ZFS-Dataset für lokales Backup anlegen

    Auf scpve per SSH:

    zfs create ZFS-POOL3-SATA/backups
    ls -la /ZFS-POOL3-SATA/
  2. Verzeichnis-Storage in PVE anlegen

    Rechenzentrum → Storage → Hinzufügen → Verzeichnis

    IDbackup-lokal-sata
    Verzeichnis/ZFS-POOL3-SATA/backups
    InhaltBackup (VZDump)
    Knotenscpve
    Aktivieren
  3. SMB-Storage für Synology anlegen

    Rechenzentrum → Storage → Hinzufügen → SMB/CIFS

    IDsynology-minipc
    Server192.168.178.3
    Benutzernamesteffen
    ShareBackups-Proxmox-Mini-IP-8
    InhaltBackup
    Knotenscpve
  4. Zwei Backup-Jobs einrichten

    Rechenzentrum → Backup → Hinzufügen — beide Jobs:

    Job 1 — Lokales Backup

    Storage:       backup-lokal-sata
    Zeitplan:      02:00
    Auswahlmodus:  Alle
    Kompression:   ZSTD
    Modus:         Snapshot
    Aufbewahrung:  keep-last=3, keep-daily=7, keep-weekly=4

    Job 2 — Synology-Backup

    Storage:       synology-minipc
    Zeitplan:      03:30
    Auswahlmodus:  Alle
    Kompression:   ZSTD
    Modus:         Snapshot
    Aufbewahrung:  keep-last=3, keep-daily=7, keep-weekly=4, keep-monthly=6
  5. Verifikation
    cat /etc/pve/jobs.cfg
    ls -lh /ZFS-POOL3-SATA/backups/dump/
    ls -lh /mnt/pve/synology-minipc/dump/
Warum zwei Jobs?

Das lokale Backup auf der SATA-Platte ist schnell (~5 Min) und schützt vor Plattenausfall des Hauptpools. Das Synology-Backup ist die echte Off-Site-Kopie. Bei Ausfall der Synology funktioniert der lokale Job trotzdem.

— Kapitel 03 —

Host pveforum

Der zweite Proxmox-Host (192.168.178.192) hat nur eine NVMe und eine HDD. Da beide physisch separat sind, könnten wir theoretisch ein lokales Backup einrichten — wir verzichten aber bewusst darauf, weil Nextcloud auf ZFS-2 liegt und ein lokales Backup auf derselben Platte wenig Schutz bietet. Die Synology übernimmt die alleinige Backup-Verantwortung.

Storage-Layout

StorageTypGrößeVerwendung
ZFS-2ZFS auf sda (1.8 TB)1.81 TBNextcloud, VPN
local-lvmLVM-Thin auf NVMe816 GBDashy (CT 105)
synology-pveforumSMB/CIFS13 TBVZDump-Ziel

Aufbau Schritt für Schritt

  1. SMB-Storage für Synology anlegen

    Rechenzentrum → Storage → Hinzufügen → SMB/CIFS

    ID:             synology-pveforum
    Server:         192.168.178.3
    Benutzername:   steffen
    Share:          Backups-Proxmox-pveforum-IP-192
    Inhalt:         Backup
    Knoten:         pveforum
  2. Backup-Job anlegen
    Storage:       synology-pveforum
    Zeitplan:      02:30
    Auswahlmodus:  Alle
    Kompression:   ZSTD
    Modus:         Snapshot
    Aufbewahrung:  keep-last=3, keep-daily=7, keep-weekly=4, keep-monthly=6
  3. Mount und Test
    ls -la /mnt/pve/synology-pveforum/
    cat /etc/pve/jobs.cfg
Achtung: Nextcloud-Container aufräumen

Im Nextcloud-Container (CT 102) lief ein internes Backup-Skript, das Backups in /root/nextcloud-backups/ sammelte (50 Stück á 4.3 GB = 214 GB!). Dieses Skript wurde deaktiviert, weil Proxmox jetzt den kompletten Container sichert. Periodisch prüfen, dass dort nichts wieder aufläuft:

pct enter 102
du -sh /root/
crontab -l
exit
— Kapitel 04 —

Synology DSSEC

Die Synology DSSEC (192.168.178.3) ist das zentrale Sicherungs-Sammelbecken. Sie speichert alle Proxmox-Backups, die Host-Configs und dient als Quelle für den pCloud-Upload.

Ordnerstruktur

/volume1/
├── Backups-Proxmox-Mini-IP-8/        # scpve VM/CT-Backups
│   ├── dump/                          # vzdump-*.tar.zst Dateien
│   ├── images/
│   └── host-config/                   # /etc/pve Sicherungen
│
├── Backups-Proxmox-pveforum-IP-192/  # pveforum VM/CT-Backups
│   ├── dump/
│   ├── images/
│   └── host-config/
│
├── _SICHERUNGEN/
│   └── Lexware Sicherung/             # Lexware-Daten (ZIP-Archive)
│
└── scripts/
    ├── sync-to-pcloud.sh              # Das pCloud-Sync-Skript
    └── pcloud-sync.log                # Aktuelles Logfile

SMB-Freigaben einrichten

  1. Gemeinsamen Ordner erstellen

    Systemsteuerung → Gemeinsamer Ordner → Erstellen

    • Name: Backups-Proxmox-Mini-IP-8 bzw. Backups-Proxmox-pveforum-IP-192
    • Volume: volume1
    • Papierkorb: aus (Backups brauchen das nicht)
    • Daten-Prüfsumme: ein
  2. SMB aktivieren

    Systemsteuerung → Dateidienste → SMB → SMB aktivieren

  3. Berechtigungen vergeben

    Pro Ordner: User steffen oder einen dedizierten Backup-User mit Lese-/Schreibrechten autorisieren.

  4. Optional: SSH aktivieren

    Für rclone-Installation: Systemsteuerung → Terminal & SNMP → SSH-Dienst aktivieren

— Kapitel 05 —

Host-Config-Backup

Die VZDump-Backups sichern nur VMs und Container — nicht aber die Proxmox-Host-Konfiguration selbst. Bei einem Totalausfall des Hosts (z. B. SSD defekt, Neuinstallation nötig) wären Cluster-Konfig, Storage-Definitionen, Netzwerk und User verloren. Das ändert dieses Skript.

Was gesichert wird

PfadInhalt
/etc/pveCluster-Config, Storage-Definitionen, User, Firewall
/etc/network/interfacesNetzwerk-Konfiguration
/etc/hostsHostname-Auflösung
/etc/hostnameHostname
/etc/resolv.confDNS
/etc/fstabFilesystem-Mounts
/etc/cron.*Cron-Jobs
/etc/sshSSH-Konfiguration
/rootSkripte und Dateien des Root-Users

Das Backup-Skript

Identisch auf beiden Hosts (scpve und pveforum), bis auf den Pfad:

#!/bin/bash
# PVE Host Configuration Backup
# Behaelt nur die letzten 3 Backups

HOST=$(hostname)
DATE=$(date +%Y-%m-%d_%H-%M)
# Pfad anpassen: synology-minipc fuer scpve, synology-pveforum fuer pveforum
BACKUP_DIR="/mnt/pve/synology-minipc/host-config"
BACKUP_FILE="${BACKUP_DIR}/pve-host-${HOST}-${DATE}.tar.gz"
KEEP=3

if ! mountpoint -q /mnt/pve/synology-minipc; then
    echo "FEHLER: Synology-Mount nicht verfuegbar!"
    exit 1
fi

tar czf "$BACKUP_FILE" \
    /etc/pve \
    /etc/network/interfaces \
    /etc/hosts \
    /etc/hostname \
    /etc/resolv.conf \
    /etc/fstab \
    /etc/cron.d \
    /etc/cron.daily \
    /etc/cron.weekly \
    /etc/cron.monthly \
    /etc/ssh \
    /root \
    2>/dev/null

# Alte Backups loeschen - nur die letzten 3 behalten
ls -1t "$BACKUP_DIR"/pve-host-${HOST}-*.tar.gz 2>/dev/null \
  | tail -n +$((KEEP + 1)) | xargs -r rm -f

echo "Backup abgeschlossen: $BACKUP_FILE"

Installation auf jedem Host

  1. Skript anlegen
    nano /usr/local/bin/pve-host-backup.sh
    chmod +x /usr/local/bin/pve-host-backup.sh
  2. host-config-Ordner anlegen
    # Auf scpve:
    mkdir /mnt/pve/synology-minipc/host-config
    
    # Auf pveforum:
    mkdir /mnt/pve/synology-pveforum/host-config
  3. Test manuell
    /usr/local/bin/pve-host-backup.sh
  4. Cron-Job einrichten
    crontab -e

    Diese Zeile hinzufügen (Sonntag 04:00 Uhr):

    0 4 * * 0 /usr/local/bin/pve-host-backup.sh >> /var/log/pve-host-backup.log 2>&1
— Kapitel 06 —

pCloud-Off-Site

Synology Cloud Sync unterstützt pCloud nicht nativ. Wir nutzen rclone direkt auf der Synology — das ist robuster, schneller und unterstützt pCloud nativ über die rclone-API.

rclone installieren

  1. SSH auf Synology
    ssh steffen@192.168.178.3
    sudo -i
  2. rclone herunterladen und installieren
    cd /tmp
    curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip
    7z x rclone-current-linux-amd64.zip
    cd rclone-*-linux-amd64
    cp rclone /usr/local/bin/
    chmod +x /usr/local/bin/rclone
    rclone version
  3. rclone für pCloud konfigurieren
    rclone config

    Im Assistenten:

    • n (New remote)
    • Name: pcloud
    • Storage: pcloud
    • client_id und client_secret: leer lassen
    • Edit advanced config: y
    • Bei "hostname": 2 für EU region
    • Use web browser to authenticate: n
    • Den ausgegebenen rclone authorize "pcloud" Befehl auf dem Mac ausführen
    • Token kopieren und einfügen
  4. Authentifizierung vom Mac aus

    Auf dem MacBook:

    brew install rclone
    rm -rf ~/.cache/rclone
    rclone authorize pcloud

    Browser öffnet sich, pCloud-Login durchführen, Allow klicken. Der JSON-Token im Mac-Terminal kopieren und im Synology-Assistenten als config_token einfügen.

  5. Verbindung testen
    rclone about pcloud:
    rclone lsd pcloud:

    Sollte den Speicherplatz und die Ordner anzeigen.

Email-Versand mit ssmtp einrichten

  1. GMX POP3/IMAP aktivieren

    Auf gmx.de einloggen → Einstellungen → POP3/IMAP-Abruf → POP3 und IMAP Zugriff erlauben

  2. ssmtp konfigurieren
    nano /etc/ssmtp/ssmtp.conf
    mailhub=mail.gmx.net:587
    UseSTARTTLS=YES
    UseTLS=YES
    AuthUser=scatta@gmx.de
    AuthPass=DEIN_GMX_PASSWORT
    rewriteDomain=gmx.de
    FromLineOverride=YES
    hostname=DSSEC
    root=scatta@gmx.de
    chmod 640 /etc/ssmtp/ssmtp.conf
  3. Test-Mail senden
    echo -e "From: scatta@gmx.de\nTo: scatta@gmx.de\nSubject: Test\n\nHallo" | ssmtp scatta@gmx.de
— Kapitel 07 —

Das Sync-Skript

Das zentrale Herzstück: ein Bash-Skript, das alle Backups in die pCloud synchronisiert, Retention durchsetzt, einen Pre-Check macht und per Email berichtet.

Pfad und Aufruf

Skript:   /volume1/scripts/sync-to-pcloud.sh
Log:      /volume1/scripts/pcloud-sync.log
Aufruf:   bash /volume1/scripts/sync-to-pcloud.sh

Vollständiger Quellcode

#!/bin/bash
###############################################################################
# pCloud Backup Sync - Synology
# Synchronisiert Backups zu pCloud:
# - Proxmox MiniPC (mit Retention max. 3 Tagessets)
# - Proxmox pveforum (mit Retention max. 3 Tagessets)
# - Lexware Sicherung (Spiegel-Sync, keine Retention)
###############################################################################

# ============== KONFIGURATION ==============
RCLONE="/usr/local/bin/rclone"
LOG_FILE="/volume1/scripts/pcloud-sync.log"
EMAIL_TO="scatta@gmx.de"
KEEP_DAYS=3
MAX_BACKUP_AGE_HOURS=26

declare -A SYNCS=(
    ["/volume1/Backups-Proxmox-Mini-IP-8"]="pcloud:Backups-Proxmox-Mini-IP-8"
    ["/volume1/Backups-Proxmox-pveforum-IP-192"]="pcloud:Backups-Proxmox-pveforum-IP-192"
    ["/volume1/_SICHERUNGEN/Lexware Sicherung"]="pcloud:Lexware-Sicherung"
)

EXCLUDE_FROM_CHECKS="Lexware"

# ============== INITIALISIERUNG ==============
START_TIME=$(date +%s)
START_DATE=$(date '+%Y-%m-%d %H:%M:%S')
WARNINGS=()
ERRORS=()
STATS=""

echo "" >> "$LOG_FILE"
echo "===============================================" >> "$LOG_FILE"
echo "=== Sync gestartet: $START_DATE ===" >> "$LOG_FILE"
echo "===============================================" >> "$LOG_FILE"

# ============== PRE-CHECK ==============
echo "--- Pre-Check: Backup-Aktualitaet ---" >> "$LOG_FILE"
for src in "${!SYNCS[@]}"; do
    if [[ "$src" == *"$EXCLUDE_FROM_CHECKS"* ]]; then
        echo "Skip Pre-Check fuer: $src" >> "$LOG_FILE"
        continue
    fi

    if [ ! -d "$src" ]; then
        ERRORS+=("Quellverzeichnis fehlt: $src")
        continue
    fi

    DUMP_DIR="$src/dump"
    if [ -d "$DUMP_DIR" ]; then
        NEWEST=$(find "$DUMP_DIR" -name "vzdump-*.zst" -type f -printf '%T@\n' 2>/dev/null | sort -n | tail -1)
        if [ -n "$NEWEST" ]; then
            NOW=$(date +%s)
            AGE_HOURS=$(( (NOW - ${NEWEST%.*}) / 3600 ))
            if [ "$AGE_HOURS" -gt "$MAX_BACKUP_AGE_HOURS" ]; then
                WARNINGS+=("$src: Neuestes Backup ist $AGE_HOURS Stunden alt!")
            fi
        fi
    fi
done

# ============== SYNC ==============
echo "--- Sync zu pCloud ---" >> "$LOG_FILE"

for src in "${!SYNCS[@]}"; do
    dest="${SYNCS[$src]}"
    NAME=$(basename "$src")
    SYNC_START=$(date +%s)

    "$RCLONE" copy "$src" "$dest" \
        --transfers=2 \
        --bwlimit=10M \
        --log-file="$LOG_FILE" \
        --log-level INFO \
        --stats=5m \
        --stats-one-line

    RC=$?
    SYNC_END=$(date +%s)
    SYNC_DURATION=$((SYNC_END - SYNC_START))
    SYNC_MIN=$((SYNC_DURATION / 60))
    SYNC_SEC=$((SYNC_DURATION % 60))

    if [ $RC -ne 0 ]; then
        ERRORS+=("Sync FEHLER fuer $NAME (Exit-Code: $RC)")
        STATS+="FEHLER - $NAME (Code $RC)\n"
    else
        STATS+="OK - $NAME (${SYNC_MIN}m ${SYNC_SEC}s)\n"
    fi
done

# ============== RETENTION ==============
for src in "${!SYNCS[@]}"; do
    if [[ "$src" == *"$EXCLUDE_FROM_CHECKS"* ]]; then
        continue
    fi

    dest="${SYNCS[$src]}"
    DATES=$("$RCLONE" lsf "$dest/dump" --include "vzdump-*.zst" 2>/dev/null | \
        grep -oP '\d{4}_\d{2}_\d{2}' | sort -u | sort -r)

    if [ -z "$DATES" ]; then continue; fi

    DATE_COUNT=$(echo "$DATES" | wc -l)
    if [ "$DATE_COUNT" -le "$KEEP_DAYS" ]; then continue; fi

    TO_DELETE=$(echo "$DATES" | tail -n +$((KEEP_DAYS + 1)))

    for date_str in $TO_DELETE; do
        "$RCLONE" delete "$dest/dump" --include "vzdump-*${date_str}*" \
            --log-file="$LOG_FILE" --log-level INFO 2>>"$LOG_FILE"
    done
done

# ============== EMAIL ==============
END_TIME=$(date +%s)
DURATION=$((END_TIME - START_TIME))
DURATION_MIN=$((DURATION / 60))
DURATION_SEC=$((DURATION % 60))
PCLOUD_INFO=$("$RCLONE" about pcloud: 2>/dev/null | head -3)

if [ ${#ERRORS[@]} -gt 0 ]; then
    SUBJECT="[FEHLER] pCloud-Sync ($(hostname))"
    STATUS="FEHLER"
elif [ ${#WARNINGS[@]} -gt 0 ]; then
    SUBJECT="[WARNUNG] pCloud-Sync ($(hostname))"
    STATUS="WARNUNG"
else
    SUBJECT="[OK] pCloud-Sync ($(hostname))"
    STATUS="ERFOLGREICH"
fi

BODY="pCloud Backup Sync Bericht
=============================

Status:    $STATUS
Start:     $START_DATE
Dauer:     ${DURATION_MIN}m ${DURATION_SEC}s

--- Sync-Ergebnisse ---
$(echo -e "$STATS")

--- pCloud Speicher ---
$PCLOUD_INFO
"

{
    echo "From: $EMAIL_TO"
    echo "To: $EMAIL_TO"
    echo "Subject: $SUBJECT"
    echo "Content-Type: text/plain; charset=UTF-8"
    echo ""
    echo "$BODY"
} | ssmtp "$EMAIL_TO" 2>>"$LOG_FILE"

exit ${#ERRORS[@]}

Automatisierung via Aufgabenplaner

Synology DSM → Systemsteuerung → Aufgabenplaner → Erstellen → Geplante Aufgabe → Benutzerdefiniertes Skript

Aufgabe:    pCloud Sync Backups
Benutzer:   root
Aktiviert:  ✓
Zeitplan:   Täglich, 06:00 Uhr
Befehl:     bash /volume1/scripts/sync-to-pcloud.sh
Email-Beispiel bei Erfolg
Betreff: [OK] pCloud-Sync (DSSEC)

pCloud Backup Sync Bericht
=============================

Status:    ERFOLGREICH
Start:     2026-05-26 06:00:00
Dauer:     8m 32s

--- Sync-Ergebnisse ---
OK - Backups-Proxmox-Mini-IP-8 (3m 12s)
OK - Backups-Proxmox-pveforum-IP-192 (2m 04s)
OK - Lexware Sicherung (3m 16s)

--- pCloud Speicher ---
Total:   1 TiB
Used:    260 GiB
Free:    764 GiB
— Kapitel 08 —

Restore-Szenarien

Ein Backup ist nur so gut wie sein Restore. Diese Anleitungen führen dich durch die wichtigsten Wiederherstellungs-Szenarien.

Szenario A — Einzelne VM/CT wiederherstellen

  1. In PVE-GUI navigieren

    Server-Ansicht → Storage anklicken (z. B. backup-lokal-sata oder synology-minipc) → Reiter Backups

  2. Backup auswählen

    Liste der vzdump-Dateien wird angezeigt. Datum auswählen und auf Wiederherstellen klicken.

  3. Restore konfigurieren
    Storage:    ZFS-POOL1 (oder anderes Ziel)
    VMID:       Original-ID oder neue ID
    Eindeutig:  ✓ (verhindert Überschreiben bestehender VM)
  4. Restore starten und prüfen

    Nach Abschluss VM/CT in der Liste prüfen, ggf. Netzwerk-Einstellungen anpassen, dann starten.

Szenario B — Aus pCloud restoren (Synology kaputt)

  1. rclone auf einem Linux-Rechner installieren
    curl https://rclone.org/install.sh | sudo bash
    rclone config  # pcloud-Konfiguration anlegen (siehe Kapitel 06)
  2. Backup aus pCloud herunterladen
    # Komplettes Verzeichnis
    rclone copy pcloud:Backups-Proxmox-Mini-IP-8 /tmp/backup-restore
    
    # Oder nur ein einzelnes Backup
    rclone copy pcloud:Backups-Proxmox-Mini-IP-8/dump/vzdump-lxc-100-2026_05_25-02_00_00.tar.zst /tmp/
  3. Backup nach Proxmox kopieren
    scp /tmp/vzdump-lxc-100-*.tar.zst root@192.168.178.8:/var/lib/vz/dump/
  4. In PVE wiederherstellen

    Storage local → Backups → Datei auswählen → Wiederherstellen

Szenario C — Kompletter Proxmox-Host wiederherstellen

Worst Case — Host komplett tot

Dieses Szenario tritt ein, wenn z. B. die System-SSD eines Proxmox-Hosts defekt ist und du den Server neu aufsetzen musst.

  1. Proxmox VE frisch installieren

    Aktuelle ISO von proxmox.com herunterladen, USB-Stick erstellen, neu installieren. Den gleichen Hostnamen verwenden (scpve oder pveforum).

  2. Netzwerk konfigurieren

    Gleiche IP wie vorher (192.168.178.8 bzw. 192.168.178.192) und Bridge einrichten.

  3. Host-Config wiederherstellen
    # SMB-Storage temporär mounten
    mount -t cifs //192.168.178.3/Backups-Proxmox-Mini-IP-8 /mnt/restore \
      -o username=steffen,password=DEIN_PW,vers=3.0
    
    # Neueste host-config finden und entpacken
    ls -lt /mnt/restore/host-config/
    tar xzf /mnt/restore/host-config/pve-host-scpve-XXXX.tar.gz -C /
    
    # Reboot
    reboot

    Nach dem Reboot sind Storage-Configs, Cluster-Config, Firewall-Regeln, User wieder da.

  4. ZFS-Pools importieren
    zpool import          # zeigt verfügbare Pools
    zpool import ZFS-POOL1
    zpool import ZFS-POOL3
    zpool import ZFS-POOL3-SATA
  5. VMs/CTs aus Backups wiederherstellen

    Alle Backups via PVE-GUI restoren — Reihenfolge: erst Container, dann VMs. Siehe Szenario A.

Szenario D — Lexware-Datei von 2019 wiederherstellen

Da die Lexware-Daten als Spiegel ohne Retention in pCloud liegen, ist jede jemals gesicherte Datei verfügbar.

# Liste anzeigen, nach Jahr filtern
rclone ls pcloud:Lexware-Sicherung/ | grep "190" | head -20

# Bestimmte Datei holen
rclone copy pcloud:Lexware-Sicherung/LFO2303_190324_165130.zip /tmp/
— Kapitel 09 —

Trouble-shooting

Häufige Probleme und ihre Lösungen — basierend auf den Fallstricken, die wir beim Aufbau überwunden haben.

Problem: Email kommt nicht an

# Direkter Test
echo -e "From: scatta@gmx.de\nTo: scatta@gmx.de\nSubject: Test\n\nHallo" \
  | ssmtp -v scatta@gmx.de

Wenn 550-Fehler: GMX POP3/IMAP-Zugriff prüfen (siehe Kapitel 06). Wenn Authentifizierung scheitert: Passwort in /etc/ssmtp/ssmtp.conf prüfen.

Problem: rclone "Invalid access_token"

Meist falsches Datacenter (US vs. EU). Lösung:

rclone config
# e = Edit pcloud
# Bei Advanced: y
# hostname = 2 (EU)
# Bei "refresh token": y
# Auf Mac: rclone authorize pcloud

Problem: SMB-Mount funktioniert nicht

# Manuell mounten und Fehler lesen
mount -t cifs //192.168.178.3/Backups-Proxmox-Mini-IP-8 /mnt/test \
  -o username=steffen,vers=3.0

# Prüfen ob Synology SMB-Dienst aktiv
# DSM: Systemsteuerung → Dateidienste → SMB

Problem: Backup zu groß / Speicher voll

  1. Container auf "interne Backups" prüfen: pct enter VMID + du -sh /
  2. Wenn in /root/ oder ähnlich Ordner mit Backups: aufräumen + Cron-Job dort prüfen
  3. Lexware-Updater-Backups: /home/data/updater-*/backups/ löschen wenn unnötig

Problem: Retention löscht zu viele Backups in pCloud

Vorsicht: Wenn die Pre-Check-Logik die Datumsformate falsch parsed, werden möglicherweise viele Backups als getrennt erkannt. Im Skript prüfen:

grep "grep -oP" /volume1/scripts/sync-to-pcloud.sh
# Muss sein: '\d{4}_\d{2}_\d{2}'    (nur Datum)
# NICHT:     '\d{4}_\d{2}_\d{2}-\d{2}_\d{2}_\d{2}'  (Datum+Zeit)

Problem: Aufgabenplaner läuft nicht

# Manuell testen
bash /volume1/scripts/sync-to-pcloud.sh

# Logfile prüfen
tail -50 /volume1/scripts/pcloud-sync.log

# Skript ausführbar?
ls -la /volume1/scripts/sync-to-pcloud.sh
— Kapitel 10 —

Checkliste & Wartung

Was du regelmäßig prüfen solltest, damit das System auch in einem Jahr noch zuverlässig läuft.

Täglich (automatisch via Email)

Wöchentlich (manuell, 5 Minuten)

Monatlich (Test-Restore)

Halbjährlich

Wichtige Befehle – Spickzettel

BefehlZweck
cat /etc/pve/jobs.cfgBackup-Jobs auflisten (PVE)
ls -lh /ZFS-POOL3-SATA/backups/dump/Lokale Backups auf scpve
zfs listZFS-Belegung anzeigen
rclone about pcloud:pCloud-Belegung
rclone lsd pcloud:pCloud-Ordner auflisten
tail -50 /volume1/scripts/pcloud-sync.logSync-Log einsehen
bash /volume1/scripts/sync-to-pcloud.shManueller Sync-Lauf
pct enter 102In Container 102 einsteigen
df -hPlattenbelegung

Notfall-Kontaktinformationen

Synology DSSEC:    192.168.178.3      (Synology-Admin steffen)
PVE scpve:         192.168.178.8      (Proxmox root)
PVE pveforum:      192.168.178.192    (Proxmox root)
pCloud:            my.pcloud.com      (Apple-Login)
GMX:               scatta@gmx.de      (Benachrichtigungen)

Skripte:
  /volume1/scripts/sync-to-pcloud.sh
  /usr/local/bin/pve-host-backup.sh   (auf beiden Hosts)

Logs:
  /volume1/scripts/pcloud-sync.log
  /var/log/pve-host-backup.log        (auf beiden Hosts)

Konfiguration:
  /etc/ssmtp/ssmtp.conf               (Synology)
  /root/.config/rclone/rclone.conf    (Synology)
Pro-Tipp

Drucke diese Dokumentation aus oder speichere sie offline (z. B. auch in pCloud). Im Notfall, wenn das System nicht erreichbar ist, ist eine offline-Version der Dokumentation Gold wert.