Skip to main content

Proxmox Konfiguration sichern / wiederherstellen

💾 Proxmox VE Konfiguration sichern

  • Das Backup wird als .tar.gz auf ein NAS-Verzeichnis speichert (per gemountetem Netzlaufwerk oder NFS/SMB).

  • Automatisch nur die letzten 7 Tage werden aufbewahrt (ältere Backups werden gelöscht).

1. Voraussetzungen
  • Dein NAS ist bereits als Verzeichnis gemountet auf z. B. /mnt/nas-backup

  • Das Verzeichnis /mnt/nas-backup/proxmox-config existiert oder wird vom Skript erstellt.
🧾 2. Backup-Skript: /root/proxmox_config_backup.sh
#!/bin/bash

# === Konfiguration ===
BACKUP_DIR="/mnt/nas-backup/proxmox-config"
DATE=$(date +%F)
ARCHIVE_NAME="proxmox-config-$DATE.tar.gz"
TMP_DIR="/tmp/proxmox-config-backup"

# === Vorbereitungen ===
mkdir -p "$TMP_DIR"
mkdir -p "$BACKUP_DIR"

# === Dateien kopieren ===
cp -a /etc/pve "$TMP_DIR"
cp -a /etc/network/interfaces "$TMP_DIR"
cp -a /etc/hosts "$TMP_DIR"
cp -a /etc/resolv.conf "$TMP_DIR"
cp -a /etc/fstab "$TMP_DIR"
cp -a /root "$TMP_DIR"

# === Archiv erstellen ===
tar -czf "$BACKUP_DIR/$ARCHIVE_NAME" -C "$TMP_DIR" .

# === Temporäre Dateien entfernen ===
rm -rf "$TMP_DIR"

# === Alte Backups löschen (älter als 7 Tage) ===
find "$BACKUP_DIR" -name "proxmox-config-*.tar.gz" -mtime +7 -exec rm {} \;

echo "✅ Proxmox-Konfiguration wurde gesichert nach: $BACKUP_DIR/$ARCHIVE_NAME"
🕒 3. Automatisierung mit cron
  1. Skript ausführbar machen
    chmod +x /root/proxmox_config_backup.sh
  2. Cronjob einrichten
    crontab -e

    → Am Ende einfügen, um es täglich um 3:00 Uhr nachts auszuführen:

    0 3 * * * /root/proxmox_config_backup.sh >> /var/log/proxmox-config-backup.log 2>&1

🛠️ Proxmox-Wiederherstellung aus Konfig-Backup

🔁 1. Proxmox neu installieren

Installiere die gleiche oder eine möglichst ähnliche Version von Proxmox VE auf der neuen Hardware.
➡️ Proxmox VE Download

🧾 2. Wiederherstellungs-Skript: /root/proxmox_config_restore.sh
#!/bin/bash

# === ANPASSEN: Pfad zur Backup-Datei ===
BACKUP_ARCHIVE="/mnt/nas-backup/proxmox-config/proxmox-config-202x-xx-xx.tar.gz"
TMP_DIR="/tmp/proxmox-restore"

# === Vorbereitungen ===
echo "📦 Entpacke Backup..."
mkdir -p "$TMP_DIR"
tar -xzf "$BACKUP_ARCHIVE" -C "$TMP_DIR"

# === Proxmox-Dienste stoppen ===
echo "🛑 Stoppe Proxmox-Dienste..."
systemctl stop pve-cluster
systemctl stop corosync
systemctl stop pvedaemon
systemctl stop pveproxy

# === Konfiguration wiederherstellen ===
echo "🔁 Stelle Konfiguration wieder her..."
cp -a "$TMP_DIR/pve/." /etc/pve/
cp -a "$TMP_DIR/interfaces" /etc/network/interfaces
cp -a "$TMP_DIR/hosts" /etc/hosts
cp -a "$TMP_DIR/resolv.conf" /etc/resolv.conf
cp -a "$TMP_DIR/fstab" /etc/fstab
cp -a "$TMP_DIR/root/." /root/

# === Dienste starten ===
echo "✅ Starte Proxmox-Dienste neu..."
systemctl start pve-cluster
systemctl start corosync
systemctl start pvedaemon
systemctl start pveproxy

# === Aufräumen ===
rm -rf "$TMP_DIR"

echo "✅ Wiederherstellung abgeschlossen. Webinterface prüfen!"

(Es empfiehlt sich, dieses Skript ebenfalls schon vorher unter /root/ zu speichern, dann wird es gleich mit gesichert und steht bei einem Restore gleich zu Verfügung) 

👉 Nicht vergessen - Skript ausführbar machen:

chmod +x /root/proxmox_restore_config.sh

🧰 3. Gewünschtes Backup auswählen (Zeile 4 anpassen) und Skript ausführen

cd /
./proxmox_config_restore.sh