Backup Tiers

These examples focus on storage tier combinations and the most common backup.env settings involved.

For the full storage reference, see docs/docs_file/storage_backends.md.

Example 1 β€” Local-only (simplest)

Use when the node has enough local storage and you want the fewest moving parts.

# configs/backup.env
BACKUP_PATH=/opt/proxsave/backup
LOG_PATH=/opt/proxsave/log

SECONDARY_ENABLED=false
CLOUD_ENABLED=false

RETENTION_POLICY=simple
MAX_LOCAL_BACKUPS=15

Run:

proxsave --dry-run
proxsave

Example 2 β€” Local + Secondary (mounted NAS)

Use when you want fast local archive creation, plus longer retention on a mounted filesystem.

# configs/backup.env
SECONDARY_ENABLED=true
SECONDARY_PATH=/mnt/secondary-backup
SECONDARY_LOG_PATH=/mnt/secondary-backup/logs

MAX_LOCAL_BACKUPS=7
MAX_SECONDARY_BACKUPS=30

Notes:

  • SECONDARY_PATH must be a mounted path (NFS/CIFS/SMB mounted on /mnt/…), not a network address.
  • Secondary failures are non-fatal (the run may finish as warning).

Example 3 β€” Local + Cloud (rclone)

Use when you want an offsite copy but don’t have secondary storage.

# configs/backup.env
CLOUD_ENABLED=true

# rclone remote name from: rclone config
CLOUD_REMOTE=myremote

# Optional subdirectory within the remote
CLOUD_REMOTE_PATH=/proxsave/backup

# Cloud logs directory (path only; remote name comes from CLOUD_REMOTE)
CLOUD_LOG_PATH=/proxsave/log

See also: docs/docs_file/rclone_cloud_path.md.

Example 4 β€” Local + Secondary + Cloud (recommended for resilience)

Use when you want:

  • local = fastest backups
  • secondary = quick restores on LAN
  • cloud = disaster recovery copy
# configs/backup.env
SECONDARY_ENABLED=true
SECONDARY_PATH=/mnt/secondary-backup
SECONDARY_LOG_PATH=/mnt/secondary-backup/logs

CLOUD_ENABLED=true
CLOUD_REMOTE=myremote
CLOUD_REMOTE_PATH=/proxsave/backup
CLOUD_LOG_PATH=/proxsave/log

Example 5 β€” Bundling for easier transfers

If you enable BUNDLE_ASSOCIATED_FILES=true, ProxSave also creates a single .bundle.tar artifact that groups the archive plus checksum/metadata files. This is useful when copying/uploading.

# configs/backup.env
BUNDLE_ASSOCIATED_FILES=true

Typical artifacts per run (names simplified):

  • main archive: backup.YYYYMMDD_HHMMSS.tar.<compression>
  • associated files: *.sha256, *.metadata, manifest*.json
  • optional bundle: backup.YYYYMMDD_HHMMSS.bundle.tar

Example 6 β€” Retention: simple vs GFS

Simple retention is count-based:

RETENTION_POLICY=simple
MAX_LOCAL_BACKUPS=15
MAX_SECONDARY_BACKUPS=15
MAX_CLOUD_BACKUPS=15

GFS retention keeps daily/weekly/monthly/yearly points:

RETENTION_POLICY=gfs
RETENTION_DAILY=7
RETENTION_WEEKLY=4
RETENTION_MONTHLY=12
RETENTION_YEARLY=3

Example 7 β€” Exclusions and custom paths

Exclude temporary paths (glob patterns):

BACKUP_EXCLUDE_PATTERNS=*/cache/**, /var/tmp/**

Add a few custom files/directories (one per line inside quotes):

CUSTOM_BACKUP_PATHS="
/root/.config/rclone/rclone.conf
/etc/custom/tool.conf
"