Backup Proxmox
pve-config-backup.sh
Sichert die gesamte Konfiguration eines Proxmox-Hosts in ein komprimiertes Archiv (~10MB).
Kein vollständiges Disk-Image — nur die relevanten Konfigurationsdateien.
Inhalt des Backups
| Pfad | Was wird gesichert |
|---|---|
/etc/pve |
Alle VM/CT-Konfigurationen, Storage, Benutzer, Cluster, Netzwerk |
/etc/network/interfaces |
Bridge- und Netzwerkkonfiguration |
/etc/network/interfaces.d |
Zusätzliche Netzwerk-Includes |
/etc/hosts |
Hostname-Auflösung |
/etc/hostname |
Hostname des Systems |
/etc/fstab |
Einhängepunkte (z.B. NFS, lokale Disks) |
/etc/resolv.conf |
DNS-Konfiguration |
/etc/default/grub |
GRUB-Parameter inkl. IOMMU (intel_iommu=on) |
/etc/default/grub.d |
Zusätzliche GRUB-Konfiguration |
/etc/modprobe.d |
Kernel-Modul-Konfiguration (VFIO, Passthrough) |
/etc/modules |
Autostart-Kernel-Module |
/etc/udev/rules.d |
Udev-Regeln (USB-Persistenz, Disk-Mapping) |
/etc/systemd/system |
Eigene Systemd-Dienste und Timer |
/etc/cron.d |
System-Cronjobs |
/etc/cron.daily |
Tägliche Cronjobs |
/etc/cron.weekly |
Wöchentliche Cronjobs |
/etc/cron.monthly |
Monatliche Cronjobs |
/var/spool/cron/crontabs/root |
Root-Crontab |
/root |
SSH-Keys, eigene Skripte, .bashrc, .profile |
Was ebenfalls abgedeckt ist
- USB-Passthrough: Konfiguration liegt in
/etc/pve/qemu-server/<vmid>.conf - Disk-Passthrough: Ebenfalls in den VM-Configs unter
/etc/pve/qemu-server/ - IOMMU/VFIO:
/etc/default/grub+/etc/modprobe.d/ - Udev-Persistenz-Regeln für USB-Geräte:
/etc/udev/rules.d/
Installation
# Skript auf Proxmox kopieren
scp pve-config-backup.sh root@<proxmox-ip>:/root/
chmod +x /root/pve-config-backup.sh
Manueller Aufruf
# Standard (Ziel: /mnt/pve/ds-woehr-neu/panzerbackup)
/root/pve-config-backup.sh
# Abweichendes Zielverzeichnis
BACKUP_DIR=/mnt/anderes/ziel /root/pve-config-backup.sh
# Mehr Backups behalten (Standard: 7)
KEEP=14 /root/pve-config-backup.sh
Automatischer Betrieb (Systemd Timer)
Service und Timer installieren
# Dateien kopieren
scp pve-config-backup.service root@<proxmox-ip>:/etc/systemd/system/
scp pve-config-backup.timer root@<proxmox-ip>:/etc/systemd/system/
# Aktivieren
systemctl daemon-reload
systemctl enable --now pve-config-backup.timer
Läuft täglich um 03:00 Uhr mit bis zu 10 Minuten Zufallsversatz.
Status prüfen
# Nächster geplanter Lauf
systemctl list-timers pve-config-backup.timer
# Letzter Lauf und Ergebnis
systemctl status pve-config-backup.service
# Logs der letzten Läufe
journalctl -u pve-config-backup.service -n 50
Timer deaktivieren
systemctl disable --now pve-config-backup.timer
Backup-Dateien
Backups werden im Zielverzeichnis mit folgendem Namensschema gespeichert:
pve-config_<hostname>_<datum>_<uhrzeit>.tar.gz
Beispiel:
/mnt/pve/ds-woehr-neu/panzerbackup/
├── pve-config_proxmox_2026-03-07_03-00-12.tar.gz
├── pve-config_proxmox_2026-03-06_03-00-08.tar.gz
└── pve-config_proxmox_2026-03-05_03-00-15.tar.gz
Es werden standardmäßig die letzten 7 Backups behalten, ältere werden automatisch gelöscht.
Neuestes Backup anzeigen:
ls -lt /mnt/pve/ds-woehr-neu/panzerbackup/pve-config_*.tar.gz | head -1
Wiederherstellen
Vorbereitung
Backup-Datei identifizieren:
ls -lt /mnt/pve/ds-woehr-neu/panzerbackup/pve-config_*.tar.gz
Inhalt des Archivs prüfen (ohne etwas zu ändern):
tar tzf /mnt/pve/ds-woehr-neu/panzerbackup/pve-config_proxmox_DATUM.tar.gz | less
Komplette Wiederherstellung nach Neuinstallation
-
Proxmox frisch installieren (gleicher Hostname empfohlen)
-
Synology einbinden:
mkdir -p /mnt/pve/ds-woehr-neu mount -t cifs //172.16.1.4/pxxData /mnt/pve/ds-woehr-neu -o username=<user>,password=<pass> -
Backup einspielen:
tar xzf /mnt/pve/ds-woehr-neu/panzerbackup/pve-config_proxmox_DATUM.tar.gz -C / -
GRUB aktualisieren (wichtig wenn IOMMU-Einstellungen vorhanden):
update-grub -
Kernel-Module neu laden:
update-initramfs -u -
Neustart:
reboot
Nach dem Neustart sind alle VM/CT-Konfigurationen, Netzwerkeinstellungen, Passthrough-Konfigurationen und eigene Dienste wiederhergestellt.
Einzelne Dateien wiederherstellen
Nur Netzwerkkonfiguration:
tar xzf pve-config_proxmox_DATUM.tar.gz -C / etc/network/interfaces
Nur VM-Konfiguration (z.B. VM 100):
tar xzf pve-config_proxmox_DATUM.tar.gz -C / etc/pve/qemu-server/100.conf
Nur GRUB-Konfiguration:
tar xzf pve-config_proxmox_DATUM.tar.gz -C / etc/default/grub
update-grub
Konfiguration per Umgebungsvariable
| Variable | Standard | Beschreibung |
|---|---|---|
BACKUP_DIR |
/mnt/pve/ds-woehr-neu/panzerbackup |
Zielverzeichnis |
KEEP |
7 |
Anzahl der aufzubewahrenden Backups |
Anforderungen
- Bash
tar,gzip(auf jedem Debian/Proxmox vorinstalliert)- Schreibzugriff auf
BACKUP_DIR - Root-Rechte (wegen
/etc/pveund/root)
No Comments