Appendix

ARTIFACTORY: Artifactory Migration using JFrog CLI Transfer Tool

Products
Frog_Artifactory
Content Type
User_Guide
AuthorFullName__c
Emmanuel Ouzan, David Livshin, Daniel Milman
articleNumber
000006688
FirstPublishedDate
2025-11-16T09:15:07Z
lastModifiedDate
2025-11-13
VersionNumber
2
Manually Copying the Filestore to Reduce the Transfer Time
For Enterprise + customers where Artifactory is above version 7.55.2, there is an option to manually copy the filestore (or reuse the existing one) and just use this tool to transfer the metadata. This can greatly speed up the transfer process. 

To use this option please follow the following steps:
  1. Ensure you have an Enterprise+ license on source and target Artifactory.
  2. Manually transfer/sync the content of the source and targets filestores. (This can be done using any external copy method based on your filestore). 
    Any binaires not synced will be manually brought across by the transfer tool. 

    (Optional) In theory the same filestore can be connected to both the target and source to achieve this goal. For example both Artifactory instances can be pointed to the same s3 bucket.

    If this is done then you must disable Garbage Collection on both instances by setting its cron expression to run a long time from now. You can refer to this KB article for more info. (​​0 0 0 ? * * 2030/1) 

    User-added image 
     
  3. Set the checkBinaryExistenceAllowed value to true, in order to allow the target server to accept the metadata only. It can be done by running this REST API:
    curl -u<USERNAME>:<PASSWORD> -d @checkBinaryExistenceAllowed.json -H "Content-Type: application/json" -XPUT
    http://<ARTIAFCTORY-URL>/artifactory/api/config/storage/checksumReplication

    The content of the checkBinaryExistenceAllowed.json file is:
    {
      "checkBinaryExistenceAllowed" : "true",
      "daysToTrust" : "30"
    }

    You can also run the following REST API to get the status after changing the value to true:
    REST API:
    curl -u<USERNAME>:<PASSWORD> -XGET http://<ARTIAFCTORY-URL>/artifactory/api/config/storage/checksumReplication
    
    Output:
    {
      "checkBinaryExistenceAllowed" : true,
      "trustUntil" : "2024-03-08 14:17:05 +0000"
    }
     
  4. Now when running the transfer-files command we can add the flag --filestore=true to attempt to move only the metadata. If there is no corresponding binary, the tool will manually transfer the binary as well, even with this flag set.
    jf rt transfer-files source-server target-server --filestore=true

     

Note:
Without specifying this flag, Artifactory will actively move the binaries even if they are already there, which will take longer to complete.