2014-10-27 75 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