How to Export Veeam Backup for Salesforce Data to Cloud or Local Storage

KB ID: 4882
Product: Veeam Backup for Salesforce
Published: 2026-07-16
Last Modified: 2026-08-21
mailbox
Get weekly article updates
By subscribing, you are agreeing to have your personal information managed in accordance with the terms of Veeam's Privacy Notice.

Cheers for trusting us with the spot in your mailbox!

Now you’re less likely to miss what’s been brewing in our knowledge base with this weekly digest

error icon

Oops! Something went wrong.

Please, try again later.

This article was updated on 2026-08-21 to document the new vbsf-export 1.0.0-27, which introduces support for export to local storage in addition to the previous cloud-only destinations.

Purpose

This article covers vbsf-export, a standalone utility that exports Salesforce backup data from a Veeam Backup for Salesforce deployment to cloud storage or to a local folder. The exported files can then be used, for example, with the Data Import feature of Veeam Data Cloud for Salesforce to migrate the backup history to the cloud.

Overview

With vbsf-export, backup data is exported from the PostgreSQL database managed by Veeam Backup for Salesforce to Azure Blob Storage, Amazon S3, or a local folder. The utility is distributed separately from Veeam Backup for Salesforce and is compatible with version 3.2.0 or later.

Preparation

  • One export target must be selected. Only one target can be configured per run, and Azure, AWS S3, and local targets cannot be combined:
    • For Azure, the Blob container, storage account name, and access key are required.
    • For AWS S3, the bucket, region, access key ID, and secret access key are required.
    • For a local folder, only a writable directory path is required. The directory is created if it does not already exist.
  • The Veeam Backup for Salesforce deployment must be version 3.2.0 or later; vbsf-export is not compatible with earlier versions.
  • Java 21 must be available on the host where the utility will run.
    Note: When the utility is installed from the package, the Java runtime is installed as a dependency.
  • Network connectivity from the host to the backup PostgreSQL database and the export destination must be confirmed (including network, DNS, firewall, and proxy configurations, as applicable).
  • Data archival policies must be paused, and a fresh backup must be run to capture the latest state before exporting.
  • The backup database connection details (JDBC URL, username, and password) and the 18-character Salesforce.org ID must be available.

 

For Veeam Data Cloud for Salesforce Tenants
If Data Import is enabled for the Veeam Data Cloud for Salesforce tenant, a ready-to-run export command can be generated from the Migrate from On-Prem option in the Veeam Data Cloud for Salesforce UI, pre-filled with the org and storage details.

Deployment Information

To avoid latency and connectivity issues, the vbsf-export utility should be deployed and run on the Postgres DB host, which is typically the Veeam Backup for Salesforce host itself. When a cloud target is used, the script will stream exported data directly to cloud storage via a TLS connection.

Red Hat, AlmaLinux, Rocky, and Oracle | Version 8

#Download Repo Installation package
sudo curl https://repository.veeam.com/yum/el/8/x86_64/vbsf/vbsf-export-1.0.0-27.el8.x86_64.rpm --output vbsf-export.rpm
#Install Veeam Software Repository
sudo yum install -y ./vbsf-export.rpm
#Install vbsf-export utility from the Veeam software repository
sudo yum install -y vbsf-export

Red Hat, AlmaLinux, Rocky, and Oracle | Version 9

#Download Repo Installation package
sudo curl https://repository.veeam.com/yum/el/9/x86_64/vbsf/vbsf-export-1.0.0-27.el9.x86_64.rpm --output vbsf-export.rpm
#Install Veeam Software Repository
sudo yum install -y ./vbsf-export.rpm
#Install vbsf-export utility from the Veeam software repository
sudo yum install -y vbsf-export

Ubuntu

#Download Repo Installation package
sudo curl https://repository.veeam.com/apt/stable/amd64/vbsf-export_1.0.0-27_amd64.deb --output ./vbsf-export.deb
#Install Veeam Software Repository
sudo apt install -y ./vbsf-export.deb
#Install vbsf-export utility from the Veeam software repository
sudo apt-get -y update
sudo apt install -y vbsf-export
Verify Connectivity Before Exporting
Before an export is run, access from the host to the backup database must be confirmed. If a cloud target is used, access to the target storage must also be confirmed.

Export Execution

  • All parameters can be passed as CLI flags (--property=value) or as uppercase environment variables.
  • When the utility is run with no arguments, -h, or --help, the full parameter reference is printed.
  • For validation, --test_run=true can be added to check connectivity and show which tables match the configured filters, without exporting any data.
  • By default, only the start and finish statuses are shown in the console; details are written to the log files specified by the log_output parameter (vbsf-export.log and debug/vbsf-export.log). To stream full progress to the console instead, --follow (-f) can be added.
  • To also include the history restore points for an object, __h can be added to the table filter. For example, --export_table_filter='^account(__h)?$' exports the Account object and its history. Note that Salesforce object names are mapped to lowercase table names in the backup database.
  • When exporting data for later import into Veeam Data Cloud for Salesforce, --sf_object_name=true should be used.

Resuming an Interrupted Export

If an export is interrupted, running the same command again continues into the same folder, and tables that have already been completed are skipped. Incomplete files left behind by the interrupted run are discarded, and those tables are exported again.

Progress is tracked in a vbsf-export-status.txt file inside the export folder. Because a completed export is not rerun, this file must be deleted before the same command can be run again to produce a fresh export.

Example: Export to Azure Blob Storage

In the following example, only the Account object's data, changed on or after June 1, 2025, is exported to Azure Blob Storage:

java -jar vbsf-export.jar \
  --jdbc_url=jdbc:postgresql://localhost:5432/vbsf_application \
  --jdbc_username=vbsf --jdbc_password=*** \
  --sf_org_id=00D000000000000EAA \
  --azure_account_name=mystorageaccount --azure_access_key=*** \
  --azure_container_name=vbsf-export \
  --log_output=/var/log/vbsf/vbsf-export \
  --export_table_filter='^account$' \
  --filter="vsf_last_modified_date >= '2025-06-01 00:00:00+00'"

Example: Export to a Local Folder

In the following example, the same data is exported to a folder on the local host:

java -jar vbsf-export.jar \
  --jdbc_url=jdbc:postgresql://localhost:5432/vbsf_application \
  --jdbc_username=vbsf --jdbc_password=*** \
  --sf_org_id=00D000000000000EAA \
  --local_dir=/var/vbsf-export \
  --log_output=/var/log/vbsf/vbsf-export \
  --export_table_filter='^account$' \
  --filter="vsf_last_modified_date >= '2025-06-01 00:00:00+00'"

Supported Features

  • Salesforce object record data (current state and history restore points) is exported from the backup PostgreSQL database to Azure Blob Storage, Amazon S3, or a local folder.
  • Everything can be exported, or the run can be limited to specific Salesforce objects by matching table names using a regular expression (by default, all tables are exported).
  • Only a date range can be exported instead of the full history: a SQL condition (for example, "modified on or after a given date") can be applied to all exported tables, or overridden for a specific table.
  • Output can be produced as plain CSV, GZIP, ZIP, or password-protected ZIP, with optional row-count or size-based file splitting.
  • An interrupted export can be resumed in the same export folder, skipping the tables that have already been completed.
  • A test-run mode is available to validate the configuration before exporting real data.

Limitations and Considerations

  • Only Salesforce object record data is exported; binary data (Files, Attachments) and metadata export are not supported.
  • Data is not decrypted, so encrypted fields are excluded by default. If the decrypted data is required (for example, to perform Data Import into Veeam Data Cloud for Salesforce), the fields must be decrypted beforehand.
  • Only one storage target can be used per run. Azure, AWS S3, and local targets cannot be combined.
  • When a cloud target is used, data is streamed directly to cloud storage, so a stable connection from the export host to the storage endpoint is required for the entire run.
  • If a column referenced by a row filter does not exist for a table (or causes a type mismatch), that table is skipped with a warning in the log, and the remainder of the export continues.

Next steps

Instructions for preparing and loading the exported files are provided in KB4878.

If this KB article did not resolve your issue or you need further assistance with Veeam software, please create a Veeam Support Case.

To submit feedback regarding this article, please click this link: Send Article Feedback
To report a typo on this page, highlight the typo with your mouse and press CTRL + Enter.

Spelling error in text

Thank you!

Thank you!

Your feedback has been received and will be reviewed.

Oops! Something went wrong.

Please, try again later.

You have selected too large block!

Please try select less.

KB Feedback/Suggestion

This form is only for KB Feedback/Suggestions, if you need help with the software open a support case

By submitting, you are agreeing to have your personal information managed in accordance with the terms of Veeam's Privacy Notice.
Verify your email to continue your product download
We've sent a verification code to:
  • Incorrect verification code. Please try again.
An email with a verification code was just sent to
Didn't receive the code? Click to resend in sec
Didn't receive the code? Click to resend
Thank you!

Thank you!

Your feedback has been received and will be reviewed.

error icon

Oops! Something went wrong.

Please, try again later.