# 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`**

```bash
#!/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** ```bash
    chmod +x /root/proxmox_config_backup.sh
    ```
2. ****Cronjob einrichten****```bash
    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](https://www.proxmox.com/de/downloads)

##### 🧾 **2. Wiederherstellungs-Skript: `/root/proxmox_config_restore.sh`**

```powershell
#!/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!"

```

<p class="callout info">(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) </p>

👉 **Nicht vergessen - Skript ausführbar machen:**

```bash
chmod +x /root/proxmox_restore_config.sh
```

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

```powershell
cd /
./proxmox_config_restore.sh
```