Here’s exactly how you sync backups between two Proxmox Backup Servers (PBS):


πŸ›  Step-by-Step: PBS β†’ PBS Sync Setup

1. Add the second PBS as a Remote on your first PBS

  • On your main PBS (where the backups originate):
    • Go to Datastore β†’ Remotes β†’ Add.
    • Enter:
      • Remote name: e.g., pbs-secondary
      • Server: IP or DNS name of second PBS
      • Username: PBS user account (needs Datastore.Sync permission)
      • Password/API Token: authenticate
      • Fingerprint: (accept the fingerprint if prompted β€” security)

πŸ”₯ Tip: Use a dedicated PBS user just for syncing if you want to be clean and secure (Role: DatastoreSync).


2. Create a Sync Job

  • On your main PBS again:
    • Go to Datastore β†’ Sync Jobs β†’ Add.
    • Configure:
      • Remote: Select the remote you just added (e.g., pbs-secondary)
      • Remote Datastore: Select the datastore name on the second PBS.
      • Local Datastore: Where to pull the backups into.
      • Schedule: How often? (hourly, daily, etc.)
      • Namespace: (optional β€” if you use namespaces)
      • Options:
        • Remove vanished (optional, usually no for backups)
        • Prune afterwards (optional, depends if you want old copies gone)

Done. πŸ”₯


πŸ“‹ Quick Example

SettingValue
Remote Namepbs-secondary
Server192.168.10.20
Usersyncuser@pbs
Remote Datastorebackups
Local Datastorebackups
ScheduleDaily at 2AM

Result = Your first PBS pulls backups from the second PBS (or vice versa depending how you set it).


πŸ“¦ Important Notes

  • PBS Sync is pull-based β€” main server pulls from the remote.
  • PBS backups are de-duplicated β€” syncing is efficient.
  • Sync only chunks, not full raw VM images.
  • You can sync both ways if you want, but it’s better to treat one PBS as β€œprimary” and one as β€œreplica”.

πŸ”₯ Quick Command Line Version (if you prefer shell)

Add a Remote (shell):

proxmox-backup-manager remote create pbs-secondary --server 192.168.10.20:8007 --auth-id syncuser@pbs

Create a Sync Job (shell):

proxmox-backup-manager sync-job create my-sync-job --remote pbs-secondary --remote-store backups --store backups --schedule "daily"

🎯 TL;DR

  • Add second PBS as remote βž” Create sync job βž” Set schedule.
  • 1 PBS pulls backups from the other on a schedule.
  • Efficient, encrypted, deduplicated.

Would you also want a short example of the perfect PBS user permissions setup for sync-only access? (e.g., avoid using root@pbs?)
Could give you a ready-to-paste config too if you want to keep it clean and safe. πŸ”₯