2013-07-29 106 views
0

我试图将存储桶上的整个/contentstore/文件夹复制到时间戳版本。基本上/contenstore/将被复制到/contentstore/20130729/复制同一Amazon S3存储桶中的文件

我的整个脚本首先使用s3s3mirror将我的生产S3存储桶克隆到备份。然后,我想将备份重命名为时间戳副本,以便我可以保留相同的多个版本。

我有一个使用s3cmd这个工作版本,但它似乎需要非常长的时间。两个桶之间的s3s3mirror部分在几分钟之内完成,可能是因为它是对现有文件夹的刷新。但即使在干净的s3s3mirror(没有现有的备份内容存储)的情况下,大约需要20分钟。

另一方面,将conentstore复制到备份存储桶上的时间戳副本需要花费一个多小时10分钟。

我做错了什么吗?同一个桶中的数据副本是否需要比两个不同桶之间的完整克隆更长的时间?

任何想法,将不胜感激。

PS:我正在运行的命令是s3cmd --recursive cp backupBucket/contentStore/ backupBucket/20130729/

+0

你是如何创建目录20130729的? –

+0

我实际上使用's3cmd - 递归cp backupBucket/contentStore/backupBucket/20130729 /'。这里'backupBucket'是一个设置为s3:// bucketName的变量。我应该创造不同的桶吗? – akshtray

+0

我不确定这是否会加速它,但你有没有考虑下载它们然后上传它们?该脚本不会很难 –

回答

0

由于您的源路径包含你的目标路径,你实际上可能被抄袭的事情不止一次 - 再当第一到目标路径,然后目标路径与您的源前缀匹配。这也可以解释为什么复制到不同的存储桶比在同一个存储桶中更快。

如果您使用的是s3s3mirror,请使用-v选项,您将看到正在复制的内容。它是否显示多次复制相同的密钥?

相关问题