我一直在尝试寻找一种比s3cmd更好的命令行工具来复制存储桶。 s3cmd
可以复制存储桶,而不必下载和上传每个文件。我通常使用s3cmd运行以复制存储桶的命令是:
s3cmd cp -r --acl-public s3://bucket1 s3://bucket2
这种方法有效,但是速度很慢,因为它一次要通过API复制一个文件。如果
s3cmd
可以并行模式运行,我将非常高兴。人们还可以使用其他选项作为命令行工具或代码来复制比
s3cmd
更快的存储桶吗?编辑:看起来s3cmd-modification正是我在寻找。太糟糕了,它不起作用。还有其他选择吗?
最佳答案
AWS CLI似乎可以完美地完成工作,并且具有成为官方支持工具的优点。
aws s3 sync s3://mybucket s3://backup-mybucket
http://docs.aws.amazon.com/cli/latest/reference/s3/sync.html
默认情况下支持并发传输。参见http://docs.aws.amazon.com/cli/latest/topic/s3-config.html#max-concurrent-requests
要快速传输大量小文件,请从EC2实例运行脚本以减少延迟,并增加
max_concurrent_requests
以减少延迟的影响。例如:aws configure set default.s3.max_concurrent_requests 200