Nelson
Nelson

Reputation: 3232

How to download all the contents of an S3 bucket and then upload to another bucket?

Using the AWS CLI how can I download all the contents of the origin bucket, and then upload the contents to the destination bucket?

Upvotes: 3

Views: 1246

Answers (2)

David Fevre
David Fevre

Reputation: 884

The aws cli allows you to configure named profiles which lets you use a different set of credentials for each individual cli command. This will be helpful because your buckets are in different accounts.

To create your named profiles you'll need to make sure you already have IAM users in each of your accounts and each user will need a set of access keys. Create your two named profiles like this.

aws configure --profile profile1
aws configure --profile profile2

Each of those commands will ask you for your access keys and a default region to use. Once you have your two profiles, use the aws cli like this.

aws s3 cp s3://origin /local/path --recursive --profile profile1
aws s3 cp /local/path s3://destination --recursive --profile profile2

Notice that you can use the --profile parameter to tell the cli which set of credentials to use for each command.

Upvotes: 1

Nelson
Nelson

Reputation: 3232

To copy locally

aws s3 sync s3://origin /local/path

To copy to destination bucket:

aws s3 sync /local/path s3://destination 

Upvotes: 5

Related Questions