Backing Up Proxmox VE Config to Google Drive (Without VM Images) - myomaniac/myomaniaclab GitHub Wiki
This guide shows how to back up your Proxmox Virtual Environment configuration (without VM disk images) to Google Drive, using the powerful and flexible rclone
tool. This is perfect for homelab users or admins who want to:
- Preserve system configurations
- Rebuild or clone nodes quickly
- Store off-site backups without heavy files
Weβll keep it clean and simple, and automate the process using a shell script and daily cronjob.
π§ What Are We Backing Up?
These files define your Proxmox environment β minus VM disk data.
What | Path |
---|---|
Cluster/Node Config | /etc/pve/ |
Network Interfaces | /etc/network/interfaces |
Storage Config | /etc/pve/storage.cfg |
VM/LXC Definitions | /etc/pve/qemu-server/ , /etc/pve/lxc/ |
System Config | /etc/fstab , /etc/hosts |
rclone
(with nala
)
π οΈ Step 1: Install nala update && nala install rclone -y
π¦ Step 2: Create a Config Backup Script
Letβs package the system config into a timestamped .tar.gz
archive and keep only the last 5.
Create script directory:
mkdir -p /root/proxmox-backup
Create the script:
nano /root/proxmox-backup/backup-env.sh
Paste this:
#!/usr/bin/env bash
DATE=$(date +%Y-%m-%d)
BACKUP_DIR="/root/proxmox-backup"
ARCHIVE_NAME="pve-env-$DATE.tar.gz"
ARCHIVE_PATH="$BACKUP_DIR/$ARCHIVE_NAME"
echo "π Creating backup archive..."
tar -czf "$ARCHIVE_PATH" /etc/pve /etc/network/interfaces /etc/fstab /etc/hosts
echo "β
Archive created: $ARCHIVE_NAME"
echo "π§Ή Removing old backups (keeping last 5)..."
ls -1t "$BACKUP_DIR"/pve-env-*.tar.gz | tail -n +6 | xargs -r rm -f
echo "βοΈ Uploading backup to Google Drive..."
rclone copy "$ARCHIVE_PATH" gdrive:proxmox-backups --quiet
echo "β
Backup routine completed."
Make it executable:
chmod +x /root/proxmox-backup/backup-env.sh
βοΈ Step 3: Connect Google Drive with rclone
rclone config
Follow these inputs:
- n β New remote
- Name β
gdrive
- Storage β
18
(Google Drive) - Client ID β Enter
- Client Secret β Enter
- Scope β
1
(Full access) - Root folder ID β Enter
- Service account β Enter
- Advanced config β
n
- Auto config β
n
On your local PC:
rclone authorize "drive"
- Copy the JSON token
- Paste it into your Proxmox terminal when it asks:
config_token>
Finish setup:
- Shared Drive β
n
- Confirm β
y
- Quit β
q
π Step 4: Upload Backup Manually
To push todayβs backup to Google Drive:
/root/proxmox-backup/backup-env.sh
This will:
- Create a
.tar.gz
archive of your environment config - Keep only the 5 most recent local copies
- Upload the new archive to Google Drive under
proxmox-backups
β° Step 5: Automate Daily Backups (Cron)
Edit the root crontab:
crontab -e
Add this line:
0 3 * * * /root/proxmox-backup/backup-env.sh >> /var/log/pve-env-backup.log 2>&1
This runs every day at 3:00 AM, logs output, and:
- Creates a new backup
- Deletes old ones beyond the last 5
- Uploads the new one to your linked Google Drive
β Summary
Youβve now:
- Archived your full Proxmox config (no VMs)
- Uploaded it securely to the cloud
- Scheduled it for daily, automatic rotation
This gives you peace of mind, fast system recovery, and flexibility β all without storing bulky VM data.
Next: Use rclone to back up actual VM
.vma.zst
images, or add OneDrive as a secondary remote!