Copy an EOS Bucket to Another E2E Account
Object storage buckets cannot be directly transferred between accounts. This guide walks through migrating objects from a bucket in one E2E account to a bucket in another using the MinIO CLI (mc).
Step 1: Create a Destination Bucket
In your destination E2E account, create a new bucket to receive the copied data.
- Click + Add Bucket on the Manage Object Storage page and enter a unique bucket name.
- Click Create.
Step 2: Attach Admin Access Keys to Both Buckets
You need bucket admin access keys for both the source bucket (in the old account) and the destination bucket (in the new account).
For each bucket:
- Select the bucket and go to the Permissions tab.
- Click Attach Access Key.
- Generate a new key or select an existing one with Bucket Admin role.
The secret key is shown only once. Copy and store it before closing the dialog.
Step 3: Install the MinIO Client (mc)
On your Linux server, download and install mc:
wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc
mv mc /usr/local/bin
Verify the installation:
mc --help
Step 4: Configure Both Buckets as mc Aliases
Add an alias for each bucket using the access keys from Step 2. Replace the placeholder values with your actual keys.
# Destination bucket (new account)
mc config host add <destination-alias> https://objectstore.e2enetworks.net <ACCESS_KEY> <SECRET_KEY>
# Source bucket (old account)
mc config host add <source-alias> https://objectstore.e2enetworks.net <ACCESS_KEY> <SECRET_KEY>
Example:
mc config host add new-account-key https://objectstore.e2enetworks.net AKIAIOSFODNN7EXAMPLE wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
mc config host add old-account-key https://objectstore.e2enetworks.net AKIAI44QH8DHBEXAMPLE je7MtGbClwBF/2Sy99Eh4R9N0EXAMPLEKEY
Step 5: Copy Data from Source to Destination
mc cp --recursive <source-alias>/<source-bucket> <destination-alias>/<destination-bucket>
Example:
mc cp --recursive old-account-key/my-old-bucket new-account-key/my-new-bucket
The --recursive flag copies all objects including those in subdirectory prefixes. Once the copy completes, verify the object count in the destination bucket matches the source.