Copy Artifactory configuration with jf rt transfer-config

Copy Artifactory configuration from a source server to a target server.

Copy full Artifactory configuration from a source Artifactory server to a target Artifactory server.

Synopsis

jf rt transfer-config <source-server-id> <target-server-id> [options]

Aliases:

Arguments

The following table lists the arguments for jf rt transfer-config.

ArgumentRequiredDescription
<source-server-id>YesServer ID to export configuration from
<target-server-id>YesServer ID to import configuration to

Options

The following table lists the flags supported by jf rt transfer-config.

FlagDefaultDescription
--exclude-reposSemicolon-separated list of repositories to exclude. Supports wildcards
--forcefalseSet to true to allow transfer to a non-empty Artifactory server
--include-reposSemicolon-separated list of repositories to include. Supports wildcards
--prechecksfalseSet to true to run pre-transfer checks against the source server before any data is moved. Pre-check mode skips the interactive confirmation prompt.
--source-working-dir$JFROG_CLI_TEMP_DIRLocal working directory on the source server
--target-working-dir/storageLocal working directory on the target server
--verbosefalseSet to true to increase verbosity during export
--formatOutput format: json only. When omitted, produces no output (backward-compatible). See jf rt output format.

When to Use

Use transfer-config when migrating an entire Artifactory instance to a new server — for example, moving from self-hosted to JFrog SaaS, or upgrading to new infrastructure. This copies all repositories, users, groups, permissions, and other configuration.

The following table helps you choose transfer-config versus related commands.

ScenarioUse This Command
Full migration to a new empty serverjf rt transfer-config
Add repos from source to existing target without wipingjf rt transfer-config-merge
Move only files (config already transferred)jf rt transfer-files

Prerequisites

Before you run transfer-config:

  1. Install the data-transfer plugin on the source server:

    jf rt transfer-plugin-install <source-server>

    Note: If your JFrog home directory is not at the default /opt/jfrog, specify the path with --home-dir <path>. Use --version to pin a specific plugin version instead of latest.

  2. Configure both source and target servers with jf config add.

  3. Use admin access tokens (or equivalent credentials) for both servers.

  4. Ensure the target server is empty unless you intend to use --force.

Examples

🚧

Warning

This command always wipes all Artifactory content on the target server before importing. --force is required only when the target is non-empty. It does not protect existing content from being overwritten.

📘

Note

Before executing, the CLI always displays a confirmation prompt and a credential-security reminder. --force does not skip this prompt. --force only allows transfer to a non-empty target. Enter y to proceed, or pipe y into the command for non-interactive use.

Verify Command Help

To view command help:

  • Run:
jf rt transfer-config --help

Transfer Full Configuration

To transfer full configuration between servers:

  • Run:
jf rt transfer-config <source-server-id> <target-server-id> --force

Where:

  • <source-server-id> and <target-server-id> — CLI server IDs (see Arguments).

Full example:

jf rt transfer-config source-server target-server --force

On success, the CLI prints progress through five phases:

[Info] ========== Phase 1/5 - Preparations ==========
[Info] ========== Phase 2/5 - Export configuration from source ==========
[Info] ========== Phase 3/5 - Import configuration to target ==========
[Info] ========== Phase 4/5 - Copy files ==========
[Info] ========== Phase 5/5 - Cleanup ==========

Transfer Specific Repositories

To transfer configuration for specific repositories:

  • Run:
jf rt transfer-config <source-server-id> <target-server-id> --include-repos "<repo-list>"

Full example:

jf rt transfer-config source-server target-server --include-repos "libs-release;libs-snapshot"

Run Pre-Transfer Checks

To run pre-transfer checks with verbose output:

  • Run:
jf rt transfer-config <source-server-id> <target-server-id> --prechecks --verbose

Full example:

jf rt transfer-config source-server target-server --prechecks --verbose

Pre-check mode validates the source configuration without transferring any data and skips the interactive confirmation prompt. It may take significant time for large configurations (thousands of repositories).

Run Non-Interactively in CI/CD Pipelines

To run non-interactively (for example, in CI/CD pipelines):

  • Pass --force (required when the target is non-empty) and pipe y into the command to answer the confirmation prompt. --force does not skip the prompt:
echo "y" | jf rt transfer-config <source-server-id> <target-server-id> --force

Full example:

echo "y" | jf rt transfer-config source-server target-server --force

Known Limitations

  • The target server content is always wiped during transfer. --force is required when the target is non-empty. It does not prevent existing content from being overwritten, and it does not skip the interactive confirmation prompt (pipe y into the command for non-interactive use).
  • Very large configurations (thousands of repositories) may take significant time for pre-checks
  • Some configuration elements (for example, custom plugins, LDAP settings) may require manual migration
  • The source server must be accessible from the machine running the CLI

Frequently Asked Questions

This section provides answers to frequently asked questions.

plusFAQs
Q: How do I copy full Artifactory configuration to a new server?

A: Run jf rt transfer-config <source-server-id> <target-server-id> --force. See Transfer Full Configuration.

Q: Does --force skip the confirmation prompt?

A: No. --force only allows transfer to a non-empty target. It does not skip the confirmation prompt, so pipe y into the command for non-interactive use. See Run Non-Interactively in CI/CD Pipelines.

Q: When should I use transfer-config instead of transfer-config-merge?

A: Use transfer-config for a full migration to a new, empty server. Use transfer-config-merge when the target already has data and you want to add to it without wiping existing content. See When to Use.

Q: What do I need before running transfer-config?

A: Install the data-transfer plugin on the source server, configure both servers with jf config add, and use admin access tokens for both. See Prerequisites.

Q: What happens to existing content on the target server?

A: The target server content is always wiped during transfer. --force is required only when the target is non-empty, and it does not protect existing content from being overwritten. See Known Limitations.

Related Topics



What’s Next

Configuration transferred. Now transfer your files.

Did this page help you?