ProxSave can upgrade the binary (from GitHub Releases) and can upgrade your backup.env by merging it with the embedded template.
Upgrade the binary (recommended)
Run as root from the installation directory (or pass --config explicitly). The upgrade flow is interactive and asks for confirmation before downloading.
cd /opt/proxsave
sudo ./build/proxsave --upgrade
If proxsave is installed in PATH, you can run:
sudo proxsave --upgrade --config /opt/proxsave/configs/backup.env
What it does:
- Checks the latest GitHub release
- Downloads proxsave_<version>_linux_<arch>.tar.gz and SHA256SUMS
- Verifies the archive checksum (SHA256)
- Extracts the proxsave binary and replaces the current one via atomic rename
- Refreshes entrypoints (/usr/local/bin/proxsave, /usr/local/bin/proxmox-backup) when possible
- Migrates legacy Bash cron entries and ensures a proxsave cron entry exists if none is present (default 02:00)
- Refreshes bundled support docs, removes legacy symlinks, and normalizes permissions
Notes:
- Requires outbound HTTPS access to GitHub API and GitHub Releases.
- Does not modify your configuration values in configs/backup.env.
Manual binary upgrade
If you prefer not to use --upgrade, install a specific release manually.
- Download and verify the release archive (replace VERSION and ARCH):
VERSION="x.y.z"
OS="linux"
ARCH="amd64" # or arm64
FILENAME="proxsave_${VERSION}_${OS}_${ARCH}.tar.gz"
curl -fsSLO "https://github.com/tis24dev/proxsave/releases/download/v${VERSION}/${FILENAME}"
curl -fsSLO "https://github.com/tis24dev/proxsave/releases/download/v${VERSION}/SHA256SUMS"
grep " ${FILENAME}$" SHA256SUMS | sha256sum -c -
- Extract the binary and install it:
tar -xzf "${FILENAME}" proxsave
sudo mkdir -p /opt/proxsave/build
sudo mv proxsave /opt/proxsave/build/proxsave
sudo chmod +x /opt/proxsave/build/proxsave
- Verify:
/opt/proxsave/build/proxsave --version
Upgrade configuration (backup.env)
When new versions add configuration keys, you can upgrade your existing config by merging it with the embedded template.
Preview (no writes):
cd /opt/proxsave
./build/proxsave --upgrade-config-dry-run
Apply upgrade:
cd /opt/proxsave
sudo ./build/proxsave --upgrade-config
What --upgrade-config does:
- Creates a timestamped backup file next to your config: <configPath>.backup.YYYYMMDD_HHMMSS
- Adds missing keys with template defaults
- Preserves your existing values for known keys
- Preserves unknown/custom keys in a “Custom keys” section at the end of the file
- Writes atomically and validates; if parsing fails, it restores the backup automatically
Check version
/opt/proxsave/build/proxsave --version
Rollback
If you encounter issues after upgrading:
- Binary rollback: ProxSave does not keep an automatic backup of the previous binary. If you want a quick rollback, copy it before upgrading:
sudo cp /opt/proxsave/build/proxsave /opt/proxsave/build/proxsave.bak
To rollback, restore the backup:
sudo mv /opt/proxsave/build/proxsave.bak /opt/proxsave/build/proxsave
If you did not save a copy, reinstall an older release tarball using the “Manual binary upgrade” steps above.
- Config rollback: Restore the backup created by
--upgrade-config:
sudo cp /opt/proxsave/configs/backup.env.backup.YYYYMMDD_HHMMSS /opt/proxsave/configs/backup.env
Upgrade best practices
- Run a
--dry-runafter upgrading - Review config changes with
--upgrade-config-dry-runbefore applying - Check
crontab -lafter--upgrade(cron entries may be migrated/normalized) - Upgrade during maintenance windows