Restore Modes

ProxSave provides a guided restore workflow for both Proxmox VE (PVE) and Proxmox Backup Server (PBS). The restore is category-based: each mode selects a predefined set of categories, and ProxSave only applies what is present in the chosen backup bundle.

Restores write back to the system root (/) and require root privileges.

How to run restore (TUI vs CLI)

TUI (interactive screens):

proxsave --restore

CLI (text prompts):

proxsave --restore --cli

If the command proxsave is not available directly in your terminal, use the full path to the binary (example: /opt/proxsave/build/proxsave).

For troubleshooting, you can increase verbosity:

proxsave --restore --cli --log-level debug

Restore modes (what changes between them)

Mode choices are the same in TUI and CLI. If ProxSave cannot analyze the bundle contents (for example due to a broken archive), it falls back to a full archive extraction workflow.

In this fallback flow, ProxSave asks you to confirm by typing RESTORE (or 0 to cancel) and then extracts the whole archive to / (still applying the /etc/pve safety rule described below).

FULL mode (full)

Restores every available category found in the bundle for the detected system type (PVE or PBS).

Use when you need a full node rebuild, disaster recovery, or after a fresh OS reinstall.

STORAGE/DATASTORE mode (storage)

Restores storage/datastore definitions plus the related job configuration, without touching general node access settings.

Use when storage definitions or backup jobs are missing/broken but the OS/network layer is fine.

Selected categories (depending on system type and what exists in the bundle):

  • PVE: pve_cluster, storage_pve, pve_jobs, zfs
  • PBS: pbs_config, datastore_pbs, pbs_jobs, zfs

SYSTEM BASE mode (base)

Restores essential OS-level configuration for reachability and services.

Use when the node is reachable but misconfigured (network/SSH/SSL/service units), and you want a conservative restore that does not touch storage definitions or cluster/PBS database state.

Selected categories:

  • network, ssl, ssh, services

CUSTOM mode (custom)

Lets you choose individual categories interactively.

  • TUI: you can go back from category selection to mode selection.
  • CLI: you can toggle categories by number, then continue.

Use when you want a very selective restore (for example only network + ssl).

Important safety behavior (PVE: /etc/pve)

ProxSave intentionally never writes to /etc/pve when restoring to /.

If the bundle contains /etc/pve data (category pve_config_export), it is treated as export-only and extracted to a separate export directory under your base directory (for example pve-config-export-YYYYMMDD-HHMMSS).

This applies to all restore paths, including the full-archive fallback: /etc/pve is always exported/skipped and never overwritten directly.

Special handling: PVE cluster database (SAFE vs RECOVERY)

If ProxSave detects a cluster backup (manifest ClusterMode=cluster) and the restore plan includes pve_cluster, it asks how to proceed:

  • SAFE: do not write /var/lib/pve-cluster/config.db; export cluster files only.
  • RECOVERY: restore the full cluster database (/var/lib/pve-cluster). Use only when the cluster is offline/isolated to avoid split-brain.

In SAFE mode, ProxSave can optionally help you apply selected exported configs via pvesh (for example VM/CT configs for the current node, storage.cfg, and datacenter.cfg).

In RECOVERY mode, ProxSave stops key PVE services and attempts to unmount /etc/pve before restoring the cluster database.

Restore workflow (high level)

  1. Select the backup source (local / secondary / cloud).
  2. Pick a bundle.
  3. Decrypt if needed (AGE).
  4. Compatibility check (may prompt to continue).
  5. Analyze categories and select restore mode (or select categories in CUSTOM).
  6. (PVE cluster) Choose SAFE vs RECOVERY if applicable.
  7. Show the restore plan.
  8. Confirm restore (type RESTORE, or abort).
  9. Create a safety backup for categories writing to system paths.
  10. Apply restore and export-only extraction.
  11. Recreate storage/datastore directories when relevant.
  12. Print follow-up actions (service checks, ZFS checks, reboot recommendation).

Safety backups and logs

Safety backup (rollback)

Before overwriting files for non-export categories, ProxSave creates a tarball safety backup under:

  • /tmp/proxsave/restore_backup_YYYYMMDD_HHMMSS.tar.gz
  • The latest location is also saved to /tmp/proxsave/restore_backup_location.txt

If needed, ProxSave prints a rollback hint like:

tar -xzf /tmp/proxsave/restore_backup_YYYYMMDD_HHMMSS.tar.gz -C /

Detailed restore log

During selective extraction, ProxSave writes a detailed log under /tmp/proxsave/restore_YYYYMMDD_HHMMSS.log and prints its path.

Mode comparison (conceptual)

ModeNetwork / SSL / SSHPVE Cluster DB (/var/lib/pve-cluster)Storage / DatastoreJobsServicesNotes
FULL✓ (SAFE/RECOVERY prompt when applicable)Complete restore
STORAGE/DATASTOREPVE only (included via pve_cluster)limitedFocus on storage + jobs
SYSTEM BASEOS/access layer only
CUSTOMdependsdependsdependsdependsdependsYou select categories