Rclone (Cloud Path)

ProxSave can upload backups and logs to any rclone-supported backend (“cloud storage”). This document focuses on how ProxSave builds the final remote path.

Key variables

CLOUD_ENABLED=true
CLOUD_REMOTE=gdrive                  # remote name, OR remote:path
CLOUD_REMOTE_PATH=proxsave/backups   # optional extra subdirectory

# Optional: where to upload logs
CLOUD_LOG_PATH=/proxsave/log         # path only, remote name taken from CLOUD_REMOTE
# CLOUD_LOG_PATH=gdrive:/proxsave/log # legacy explicit remote:path form

How the destination is built (backups)

ProxSave supports both styles:

  1. Split remote + path (recommended for readability):
CLOUD_REMOTE=gdrive
CLOUD_REMOTE_PATH=proxsave/backups

Uploads go to:

gdrive:proxsave/backups/
  1. Shorthand remote:path (common in rclone examples and accepted by ProxSave):
CLOUD_REMOTE=gdrive:proxsave/backups
CLOUD_REMOTE_PATH=

Uploads go to:

gdrive:proxsave/backups/
  1. Combine both (useful when you want a stable base + per-host subdir):
CLOUD_REMOTE=gdrive:proxsave
CLOUD_REMOTE_PATH=backups/server1

Uploads go to:

gdrive:proxsave/backups/server1/

Notes:

  • Leading/trailing slashes are normalized (use whichever you prefer).
  • The “path” part uses POSIX separators (/) because rclone remotes are not OS-native filesystems.

Log uploads

CLOUD_LOG_PATH can be either:

  • A full remote reference: remote:/path (legacy style), or
  • A plain path like /logs or logs (new style). In this case ProxSave uses the remote name from CLOUD_REMOTE and prepends it automatically.

Examples:

# New style (recommended)
CLOUD_REMOTE=gdrive:proxsave/backups
CLOUD_LOG_PATH=/proxsave/log

# Legacy style (explicit)
CLOUD_LOG_PATH=gdrive:/proxsave/log

Leave CLOUD_LOG_PATH empty to disable cloud log copy/cleanup for that run.

Rclone setup (quick)

Install rclone:

curl -fsSL https://rclone.org/install.sh | sudo bash

Create a remote:

rclone config
rclone listremotes

Test and create a target directory:

rclone lsf gdrive:
rclone mkdir gdrive:proxsave/backups

Upload settings (high level)

CLOUD_UPLOAD_MODE=parallel            # sequential | parallel
CLOUD_PARALLEL_MAX_JOBS=2            # parallel workers
CLOUD_PARALLEL_VERIFICATION=true     # verify uploads when possible

Common rclone knobs:

RCLONE_TIMEOUT_CONNECTION=30
RCLONE_TIMEOUT_OPERATION=300
RCLONE_TRANSFERS=4
RCLONE_RETRIES=3
RCLONE_BANDWIDTH_LIMIT=
RCLONE_FLAGS=

Troubleshooting quick checks

  • Remote not found:
rclone listremotes
rclone config show
  • Permission/auth errors: verify your remote/token and retry rclone lsf <remote>: and rclone mkdir <remote>:<path>.
  • Timeouts: increase RCLONE_TIMEOUT_CONNECTION (remote check) and RCLONE_TIMEOUT_OPERATION (upload/download).