1

バケットのフォルダー全体/contentstore/をタイムスタンプ付きのバージョンにコピーしようとしています。基本的/contenstore/に にコピーされ/contentstore/20130729/ます。

私のスクリプト全体は、s3s3mirror最初に本番 S3 バケットをバックアップにクローンするために使用します。次に、同じものの複数のバージョンを保持できるように、バックアップの名前をタイムスタンプ付きのコピーに変更したいと考えています。

これを使用して動作するバージョンを持っていs3cmdますが、異常に時間がかかるようです。2 つのバケットの間のs3s3mirror部分は、おそらく既存のフォルダーの更新であるため、数分以内に完了します。ただし、クリーンs3s3mirror(バックアップに既存のコンテンツストアがない) の場合でも、約 20 分かかります。

一方、conentstore をバックアップ バケットのタイムスタンプ付きコピーにコピーするには、1 時間 10 分以上かかります。

私は何か間違ったことをしていますか?同じバケット上のデータのコピーは、2 つの異なるバケット間の完全なクローンよりも長くかかる必要がありますか?

どんなアイデアでも大歓迎です。

PS:私が実行しているコマンドはs3cmd --recursive cp backupBucket/contentStore/ backupBucket/20130729/

4

1 に答える 1

0

ソースパスには宛先パスが含まれているため、実際には複数回コピーしている可能性があります。最初は宛先パスにコピーし、次に宛先パスがソースプレフィックスと一致するときにもう一度コピーします。これは、別のバケットへのコピーが同じバケット内よりも高速である理由も説明します。

s3s3mirror を使用している場合は、-v オプションを使用すると、何がコピーされているかを正確に確認できます。同じキーが複数回コピーされていることを示していますか?

于 2013-12-05T00:23:04.873 に答える