jf rt transfer-files
Transfer files from one Artifactory instance to another.
Synopsis
jf rt transfer-files <source-server-id> <target-server-id> [options]
Aliases: —
Arguments
| Argument | Required | Description |
|---|---|---|
<source-server-id> | Yes | Server ID of the Artifactory instance to transfer from |
<target-server-id> | Yes | Server ID of the Artifactory instance to transfer to |
Options
| Flag | Default | Description |
|---|---|---|
--exclude-repos | — | Semicolon-separated list of repositories to exclude. Supports wildcards |
--filestore | false | Set to true when artifacts already exist on the target filestore |
--ignore-state | false | Set to true to ignore saved state from previous transfer-files runs |
--include-files | — | Semicolon-separated path patterns to include. Example: folder/subfolder/* |
--include-repos | — | Semicolon-separated list of repositories to include. Supports wildcards |
--prechecks | false | Set to true to run pre-transfer checks |
--proxy-key | — | Key of an HTTP proxy configuration in Artifactory for transfer traffic |
--status | false | Set to true to show status of an in-progress transfer-files command |
--stop | false | Set to true to stop the transfer-files command currently in progress |
Examples
Transfer Files Between Servers
jf rt transfer-files --helpTransfer Specific Repositories
jf rt transfer-files source-server target-server --include-repos "libs-release;libs-snapshot"Exclude Repositories
jf rt transfer-files source-server target-server --exclude-repos "temp-*;archive-*"Check Transfer Status
jf rt transfer-files source-server target-server --statusStop an In-Progress Transfer
jf rt transfer-files source-server target-server --stopWhen to Use
Use transfer-files after transfer-config (or transfer-config-merge) to move the actual artifact binaries from one Artifactory to another. This is the second step in a full migration workflow.
Typical migration workflow:
jf rt transfer-plugin-install <source-server>— Install the pluginjf rt transfer-config <source> <target>— Copy configurationjf rt transfer-files <source> <target>— Transfer all artifacts
Known Limitations
- Requires the data-transfer plugin installed on the source Artifactory instance
- Transfer progress is saved; if interrupted, re-running the command resumes from where it stopped (unless
--ignore-stateis set) - Large-scale transfers (millions of artifacts) may take hours or days depending on network bandwidth
- The
--filestoreflag skips actual file transfer when artifacts are already present on the target's filestore (useful for shared storage migrations) - Performance depends on network bandwidth between source and target; use
--proxy-keyto route through Artifactory's proxy for controlled environments
Performance Considerations
| Repository Size | Expected Duration | Recommendation |
|---|---|---|
| < 10 GB | Minutes to an hour | Default settings work fine |
| 10-100 GB | Hours | Monitor with --status; ensure stable network |
| 100 GB - 1 TB | Hours to a day | Run during off-peak; use --include-repos to batch |
| > 1 TB | Days | Split into batches with --include-repos; monitor with --status |
Tip: If the transfer stalls, use
--statusto check progress. If it has failed, re-run the same command — it resumes from the last checkpoint. Use--ignore-stateonly if you want to start completely fresh.
Updated about 1 month ago
