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.
| Argument | Required | Description |
|---|---|---|
<source-server-id> | Yes | Server ID to export configuration from |
<target-server-id> | Yes | Server ID to import configuration to |
Options
The following table lists the flags supported by jf rt transfer-config.
| Flag | Default | Description |
|---|---|---|
--exclude-repos | — | Semicolon-separated list of repositories to exclude. Supports wildcards |
--force | false | Set to true to allow transfer to a non-empty Artifactory server |
--include-repos | — | Semicolon-separated list of repositories to include. Supports wildcards |
--prechecks | false | Set 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_DIR | Local working directory on the source server |
--target-working-dir | /storage | Local working directory on the target server |
--verbose | false | Set to true to increase verbosity during export |
--format | — | Output 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.
| Scenario | Use This Command |
|---|---|
| Full migration to a new empty server | jf rt transfer-config |
| Add repos from source to existing target without wiping | jf rt transfer-config-merge |
| Move only files (config already transferred) | jf rt transfer-files |
Prerequisites
Before you run transfer-config:
-
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--versionto pin a specific plugin version instead oflatest. -
Configure both source and target servers with
jf config add. -
Use admin access tokens (or equivalent credentials) for both servers.
-
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.
--forceis 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.
--forcedoes not skip this prompt.--forceonly allows transfer to a non-empty target. Enteryto proceed, or pipeyinto the command for non-interactive use.
Verify Command Help
To view command help:
- Run:
jf rt transfer-config --helpTransfer Full Configuration
To transfer full configuration between servers:
- Run:
jf rt transfer-config <source-server-id> <target-server-id> --forceWhere:
<source-server-id>and<target-server-id>— CLI server IDs (see Arguments).
Full example:
jf rt transfer-config source-server target-server --forceOn 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 --verboseFull example:
jf rt transfer-config source-server target-server --prechecks --verbosePre-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 pipeyinto the command to answer the confirmation prompt.--forcedoes not skip the prompt:
echo "y" | jf rt transfer-config <source-server-id> <target-server-id> --forceFull example:
echo "y" | jf rt transfer-config source-server target-server --forceKnown Limitations
- The target server content is always wiped during transfer.
--forceis 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 (pipeyinto 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.
FAQs
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
- Merge Artifactory Configuration with jf rt transfer-config-merge
- Transfer Artifact Files with jf rt transfer-files
- Transfer Files Between Artifactory Servers
- jf rt Output Format
Updated 3 days ago
What’s Next
Configuration transferred. Now transfer your files.
