--- title: Copy EOS --- # 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. 1. Click **+ Add Bucket** on the **Manage Object Storage** page and enter a unique bucket name. 2. 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: 1. Select the bucket and go to the **Permissions** tab. 2. Click **Attach Access Key**. 3. Generate a new key or select an existing one with **Bucket Admin** role. :::warning 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`: ```bash wget https://dl.min.io/client/mc/release/linux-amd64/mc chmod +x mc mv mc /usr/local/bin ``` Verify the installation: ```bash 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. ```bash # Destination bucket (new account) mc config host add https://objectstore.e2enetworks.net # Source bucket (old account) mc config host add https://objectstore.e2enetworks.net ``` **Example:** ```bash 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 ```bash mc cp --recursive / / ``` **Example:** ```bash 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. ---