Proxmox Backup & Restore¶
Last Updated: YYYY-MM-DD Status:
Emergency Quick Reference¶
Print this section and keep it accessible.
Critical Info¶
| Item | Value |
|---|---|
| Proxmox Host | |
| Backup Storage | |
| Backup Location | |
| Backup Script | |
| Schedule |
Restore Commands¶
Option 1: Existing Proxmox (config corrupted)
ssh root@<PROXMOX_IP>
mount -t nfs <NAS_IP>:<NFS_PATH> /mnt/backups
wget https://raw.githubusercontent.com/DerDanilo/proxmox-stuff/master/prox_config_restore.sh
chmod +x prox_config_restore.sh
ls -lt /mnt/backups/proxmox-host-configs/ | head -3
./prox_config_restore.sh /mnt/backups/proxmox-host-configs/<BACKUP_FILE>.tar.gz
# Select Mode 1 (Default restore) - System reboots automatically
Option 2: Fresh Proxmox install
# After installing Proxmox with correct hostname and IP
ssh root@<PROXMOX_IP>
mkdir -p /mnt/backups
mount -t nfs <NAS_IP>:<NFS_PATH> /mnt/backups
wget https://raw.githubusercontent.com/DerDanilo/proxmox-stuff/master/prox_config_restore.sh
chmod +x prox_config_restore.sh
./prox_config_restore.sh /mnt/backups/proxmox-host-configs/<BACKUP_FILE>.tar.gz
# Select Mode 2 (Experimental for fresh install) - System reboots automatically
# After reboot: check /etc/fstab vs /etc/fstab_RESTORED, merge NFS mounts if needed
Important links: - Restore script: https://raw.githubusercontent.com/DerDanilo/proxmox-stuff/master/prox_config_restore.sh - Proxmox ISO: https://www.proxmox.com/en/downloads
Understanding Host Backups¶
Host backups are NOT the same as VM backups:
| Type | What it saves | Purpose |
|---|---|---|
| VM backups (vzdump) | Guest VMs and containers | Restore individual VMs |
| Host backups (this doc) | Proxmox configuration | Restore Proxmox itself |
What Gets Backed Up¶
DerDanilo's script backs up:
- /etc/ - System configuration
- /etc/pve/ - Proxmox configuration (storage, VMs, users, firewall)
- /var/lib/pve-cluster/ - Cluster database
- /root/ - Root home (SSH keys, scripts)
- /var/spool/cron/ - Cron jobs
- /usr/local/bin/ - Custom scripts
- APT package list
Typical backup size: 500 KB - 1 MB
Current Configuration¶
Backup Script¶
Location:
Settings:
DEFAULT_BACK_DIR="<!-- TODO: backup directory -->"
MAX_BACKUPS=10
HEALTHCHECKS=1
HEALTHCHECKS_URL=https://hc-ping.com/<UUID>
Monitoring¶
Verification¶
Monthly¶
# Check recent backup exists
ls -lt /mnt/backups/proxmox-host-configs/ | head -3
# Verify backup size (should be 500KB-5MB)
du -h /mnt/backups/proxmox-host-configs/*.tar.gz | tail -1
# Check retention
ls -1 /mnt/backups/proxmox-host-configs/*.tar.gz | wc -l
Quarterly¶
# Extract and verify contents
cd /tmp
tar -xzf /mnt/backups/proxmox-host-configs/<LATEST_BACKUP>.tar.gz
# Check critical files exist
ls -la etc/pve/storage.cfg etc/network/interfaces root/.ssh/
# Cleanup
rm -rf etc var root proxmox*
Troubleshooting¶
Backup not running?
crontab -l | grep prox_config_backup
df -h | grep nfs
# Run manually to see errors:
/usr/local/bin/prox_config_backup.sh
NFS mount missing?
mount -t nfs <NAS_IP>:<NFS_PATH> /mnt/backups
Network config warning: Restoring network config can break remote access. Have physical access ready.
Network Flow¶
┌──────────────────┐
│ Proxmox Host │ Weekly backup
│ <PROXMOX_IP> │ └─> prox_config_backup.sh
└────────┬─────────┘
│ NFS
▼
┌──────────────────┐
│ Storage Server │ /mnt/.../backups/
│ <NAS_IP> │ host-configs/
└──────────────────┘
│
Backups survive
if Proxmox dies
External Resources¶
- DerDanilo's proxmox-stuff - Backup/restore scripts
- Proxmox Backup Docs - Official documentation