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:
- Split remote + path (recommended for readability):
CLOUD_REMOTE=gdrive
CLOUD_REMOTE_PATH=proxsave/backups
Uploads go to:
gdrive:proxsave/backups/
- 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/
- 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) andRCLONE_TIMEOUT_OPERATION(upload/download).