Skip to content

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