2017-01-20 15 views
1

バケット内のサブフォルダにネストされた約200万のファイルがあり、それらをすべて別のバケットに移動したいとします。検索に多くの時間を費やしています... AWS CLI mv/syncコマンドを使用するソリューションが見つかりました。 moveコマンドを使用するかsyncコマンドを使用し、正常に同期した後にすべてのファイルを削除してください。aws s3 mv/syncコマンド

aws s3 mv s3://mybucket/ s3://mybucket2/ --recursive

またはそれが

aws s3 sync s3://mybucket/ s3://mybucket2/ 

とすることができますが、問題は、私はどのように多くのファイル/フォルダを移動または同期とそれがどのくらいの時間がかかるだろうしていることを知っているだろうかです... そして何らかの例外が発生した場合(マシン/サーバーが何らかの理由で切断された場合)、私は再度コマンドを実行するか、すべてのファイルを確実に完了して移動/同期させる必要があります。移動/同期されたファイル数とファイルが移動/同期されていないことを確認する方法を教えてください。

は、あるいは私は、ファイルの数が限られて移動すること

のようなものを持っている10万を例えば...と、すべてのファイルが移動されるまで繰り返し...

をまたはアップロード時間に基づいてファイルを移動することができます。例えば、開始日から終了日までアップロードされたファイル

もしあれば、どうですか?

+1

試しましたか? 'aws s3 sync' *は安全に中断可能でなければなりません。 S3で単一のオブジェクトの一部をコピーすることは本質的に不可能です。オブジェクトレベルでは、コピー全体がそのまま残っているか、新しいバケットにはそのオブジェクトがまったく存在しません。 –

+0

@ Michael-sqlbot ...ファイルがあまりにも多く、どのくらいのファイルが同期されているかを知るにはどうすればいいですか?....方法があるので、どれくらいのファイルが同期されているか知ることができます。それは –

+0

試しましたか?私はそれが進むにつれてキーを表示し、それらは字句順で行われると信じています。 –

答えて

0

それらを使用移動するには:それは問題なく終了し(または失敗)後

aws s3 sync s3://mybucket/ s3://mybucket2/ 

あなたは、コマンドを繰り返すことができます。これは、対象となるs3バケットに欠けているかどうかを確認し、再度処理します。

時間はファイルのサイズ、オブジェクトの量によって異なります。 Amazonはディレクトリをオブジェクトとしてカウントするため、ディレクトリも重要です。