Skip to content

Standard Backup Procedure for Standalone Servers

Target: Ubuntu/Debian Physical Hosts & Standalone Servers Backup Target: Proxmox Backup Server (PBS)

This standard defines how to back up physical Linux hosts (e.g., Mac Mini running Ubuntu, Raspberry Pis) to our central Proxmox Backup Server.

1. Prerequisites

  • PBS Server: 192.168.1.4 (ds9-backups)
  • Host OS: Ubuntu 20.04+ or Debian 11+
  • Network: Host must be able to reach 192.168.1.4 on port 8007.

2. On Proxmox Backup Server (VM 199)

Create a dedicated API token for the client. Do not use the root password.

  1. Generate Token: bash proxmox-backup-manager user generate-token root@pam <hostname> # SAVE THE OUTPUT VALUE! It is shown only once.
  2. Grant Permissions: Give the token permission to write to the datastore. bash proxmox-backup-manager acl update /datastore/ds9-backups DatastoreBackup --auth-id root@pam!<hostname>
  3. Get Fingerprint: bash proxmox-backup-manager cert info | grep Fingerprint

3. On the Client (Standalone Server)

3.1 Install Client

Ubuntu/Debian:

wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
echo "deb http://download.proxmox.com/debian/pbs bookworm pbs-no-subscription" | tee /etc/apt/sources.list.d/pbs-client.list
apt update
apt install proxmox-backup-client -y

3.2 Create Backup Script

Create /usr/local/bin/pbs-backup.sh. Replace the variables with your specific values.

#!/bin/bash
# ------------------------------------------------------------------
# Proxmox Backup Server Client Script
# Standardized for Standalone Hosts
# ------------------------------------------------------------------

export PBS_REPOSITORY="root@pam!<hostname>@192.168.1.4:ds9-backups"
export PBS_PASSWORD="<INSERT_SECRET_TOKEN_VALUE_HERE>"
export PBS_FINGERPRINT="<INSERT_PBS_FINGERPRINT_HERE>"

# Run Backup
# - Backs up root (/) 
# - Excludes virtual/temp filesystems
# - Limits rate to 25MB/s to protect network
/usr/bin/proxmox-backup-client backup root.pxar:/
    --exclude /dev \
    --exclude /proc \
    --exclude /sys \
    --exclude /tmp \
    --exclude /run \
    --exclude /mnt \
    --exclude /media \
    --exclude /lost+found \
    --rate 25M

Make it executable:

chmod +x /usr/local/bin/pbs-backup.sh

3.3 Schedule (Cron)

Run daily at 03:00 AM (staggered from VM backups).

Add to /etc/crontab:

0 3 * * * root /usr/local/bin/pbs-backup.sh > /var/log/pbs-backup.log 2>&1

4. Verification

Run the script manually once to verify connectivity:

/usr/local/bin/pbs-backup.sh

Check the PBS web interface (https://192.168.1.4:8007) to confirm the "host/" group appears in the datastore.