2017-02-06 24 views
0

aws cliのドキュメントを見ていますが、一部のディレクトリ構造の唯一のファイルを "平坦化された"構造の他のバケットにコピーする方法を見つけることができませんディレクトリとその内部のすべてのファイル)。フォルダなしのs3バケット間でファイルをコピーするamazon aws cli

/a/b/c/1.pg 
/a/2.jpg 
/a/b/3.jpg 

例えば

私は別のバケツを持っているしたい:

/x/1.jpg 
/x/2.jpg 
/x/3.jpg 

私は何かが足りないか、それは不可能でしょうか? 私はそれをどうやって行うことができるか考えていますか?

+0

何な名前のファイルはどうですか? –

答えて

1

別の回答で示唆されているように、ローカルでファイルをダウンロードする必要はありません。その内のすべてのファイルの完全修飾名を取得するためにs3://bucket1

  • 実行ls:代わりに、あなたは次のことを行いシェルスクリプトか何かを書くことができます。

    AWS S3の同期/a/b/c/1.pg S3:cpを実行し、各ファイルに対して

  • は、ご参考のためにいくつかの例がある。ここ s3://bucket2/x/
+0

私はこれと一緒に行かなければならなかった – fr3ak

0

システムにaws cliが設定されていて、両方のバケットが同じ領域にあると仮定しているとします。あなたができる、

aws s3 sync s3://originbucket /localdir/ 

ポストこの、最後に1 DIR

find /localdir/ -type f -exec mv {} /anotherlocaldir/ 

にすべてのファイルを取得するためにfindコマンドを使用します。最初のdowloadは、使用してローカルマシンにS3バケット 何ができています再度s3にファイルをアップロードしてください!

aws s3 sync /anotherlocaldir/ s3://destinationbucket 
+0

まあ、ディスクに十分なスペースがあったらうまくいくでしょう... – fr3ak

+0

s3はさまざまな理由でそれを許すとは思いません。どのファイルを検討するのですか? –

0

に現在の場所からそれをコピーします// bucketname/

AWS S3の同期/a/2.jpg S3:// bucketname/

AWS S3の同期/a/b/3.jpg S3:// bucketname/

AWS S3の同期/ directorypathに/ S3:// bucketname/

AWSの参照URL:S3バケットへのDIRのすべての内容を同期するhttp://docs.aws.amazon.com/cli/latest/reference/s3/sync.html

関連する問題