2014-10-27 50 views
1

我已经上传了s3桶中的文件。 但由于我的错,s3cmd在s3:// backups/files/bkup14上传文件,而不是s3:// backups/bkup14。 现在移动的所有文件下S3://备份/文件/ bkup14到S3://备份/ bkup14,我想下面的命令:在亚马逊s3桶内移动文件

s3cmd mv --recursive s3://backups/files/bkup14 s3://backups/bkup14

但它给了我下面的错误:

ERROR: S3 error: 400 (InvalidRequest): This copy request is illegal because it is trying to copy an object to itself without changing the object's metadata, storage class, website redirect location or encryption attributes. 

我在做什么错在这里?任何人都可以建议我吗

回答

2

尝试SYNC桶第一(送花儿给人干运行在前):

s3cmd sync s3://backups/files/bkup14/ s3://backups/bkup14/ --dry-run 
s3cmd sync s3://backups/files/bkup14/ s3://backups/bkup14/ 

然后删除不再需要的文件夹:

s3cmd del --recursive s3://backups/files/bkup14 --dry-run 
s3cmd del --recursive s3://backups/files/bkup14 

AWS S3区命名空间由所有用户共享的系统,所以除非你非常幸运地赶上备份桶你的s#桶很可能是别的东西。

下面是上面测试和证明的一个例子。

s3cmd sync s3://backups-stackoverflow-demo/files/bkup14/ s3://backups-stackoverflow-demo/bkup14/ --dry-run 
    Summary: 1 source files to copy, 0 files at destination to delete 
    Sync: s3://backups-stackoverflow-demo/files/bkup14/test.txt -> s3://backups-stackoverflow-demo/bkup14/test.txt 
    WARNING: Exitting now because of --dry-run 

s3cmd sync s3://backups-stackoverflow-demo/files/bkup14/ s3://backups-stackoverflow-demo/bkup14/ 
    Summary: 1 source files to copy, 0 files at destination to delete 
    File s3://backups-stackoverflow-demo/files/bkup14/test.txt copied to s3://backups-stackoverflow-demo/bkup14/test.txt 
    Done. Copied 1 files in 0.1 seconds, 16.72 files/s 

s3cmd del --recursive s3://backups-stackoverflow-demo/files/bkup14 --dry-run 
    delete: s3://backups-stackoverflow-demo/files/bkup14/ 
    delete: s3://backups-stackoverflow-demo/files/bkup14/test.txt 
    WARNING: Exitting now because of --dry-run 

s3cmd del --recursive s3://backups-stackoverflow-demo/files/bkup14 
    File s3://backups-stackoverflow-demo/files/bkup14/ deleted 
    File s3://backups-stackoverflow-demo/files/bkup14/test.txt deleted 
+0

我试图同步使用您的命令桶,但我得到的错误:参数问题:无效的源/目的 – 2014-10-28 11:30:08

+1

我希望你没有逐字复制的命令和你真正的水桶取代斗名“备份”。 ** s3cmd ls **的输出是什么? – 2014-10-28 13:26:02