以前は私のお気に入りのバックアップトランスポートエージェントでしたが、今では、同じUbuntuサーバー/ネットワーク上のs3cmdからこの結果を頻繁に取得しています。
root@server:/home/backups# s3cmd put bkup.tgz s3://mybucket/
bkup.tgz -> s3://mybucket/bkup.tgz [1 of 1]
36864 of 2711541519 0% in 1s 20.95 kB/s failed
WARNING: Upload failed: /bkup.tgz ([Errno 32] Broken pipe)
WARNING: Retrying on lower speed (throttle=0.00)
WARNING: Waiting 3 sec...
bkup.tgz -> s3://mybucket/bkup.tgz [1 of 1]
36864 of 2711541519 0% in 1s 23.96 kB/s failed
WARNING: Upload failed: /bkup.tgz ([Errno 32] Broken pipe)
WARNING: Retrying on lower speed (throttle=0.01)
WARNING: Waiting 6 sec...
bkup.tgz -> s3://mybucket/bkup.tgz [1 of 1]
28672 of 2711541519 0% in 1s 18.71 kB/s failed
WARNING: Upload failed: /bkup.tgz ([Errno 32] Broken pipe)
WARNING: Retrying on lower speed (throttle=0.05)
WARNING: Waiting 9 sec...
bkup.tgz -> s3://mybucket/bkup.tgz [1 of 1]
28672 of 2711541519 0% in 1s 18.86 kB/s failed
WARNING: Upload failed: /bkup.tgz ([Errno 32] Broken pipe)
WARNING: Retrying on lower speed (throttle=0.25)
WARNING: Waiting 12 sec...
bkup.tgz -> s3://mybucket/bkup.tgz [1 of 1]
28672 of 2711541519 0% in 1s 15.79 kB/s failed
WARNING: Upload failed: /bkup.tgz ([Errno 32] Broken pipe)
WARNING: Retrying on lower speed (throttle=1.25)
WARNING: Waiting 15 sec...
bkup.tgz -> s3://mybucket/bkup.tgz [1 of 1]
12288 of 2711541519 0% in 2s 4.78 kB/s failed
ERROR: Upload of 'bkup.tgz' failed too many times. Skipping that file.
これは100MBほどの小さなファイルでも発生するので、サイズの問題ではないと思います。 --acl-privateフラグを指定してputを使用した場合にも発生します(s3cmdバージョン1.0.1)
S3cmdのいくつかのソリューションまたは軽量な代替案を提案していただければ幸いです。
S3cmdがあなたが言及したエラーを返す原因となるいくつかの一般的な問題があります:
S3cmdの代替:
独自のスクリプトを記述したい場合は、PythonほとんどのAWSオペレーションを実行するための関数があり、オンラインで利用可能な多くの例があるBotoライブラリを使用できます。 project があります=コマンドラインでboto関数の一部を公開します。ただし、現在使用できる関数のセットはごくわずかです。
これは私の場合に役立ちました:
s3cmd ls
バケット上bucket_Host
の中に .s3cfg
警告からのものを含むファイル。s3cmd ls
、警告は出力されなくなりました私の.s3cfgは次のとおりです:
Host_bucket = %(bucket)s.s3-external-3.amazonaws.com
Ubuntuでも同じ問題が発生しましたs3cmd
コマンド。
最新の安定したバージョン(1.0.1)をダウンロードすると解決しました: http://sourceforge.net/projects/s3tools/files/s3cmd/
私は同じ問題を抱えており、解決策を見つけました heresamwiseによる応答。
この問題は、IAMの実験を開始したときに発生しました。私の場合、問題はARNにありました。 arn:aws:s3:::bucketname
の代わりに arn:aws:s3:::bucketname/*
そのため、$ s3cmd ls s:// bucketnameに問題はありませんでしたが、そこにファイルをアップロードできませんでした((
s3cmd sync
でマルチパートアップロードを毎秒アップロードすると、次のエラーで失敗しました:
WARNING: Upload failed: /large-file.gz?partNumber=13&uploadId=FOOBAR ([Errno 32] Broken pipe)
WARNING: Retrying on lower speed (throttle=0.00)
WARNING: Waiting 3 sec...
次のアップロードはうまくいきますが、その後、もう一度失敗しました。
--limit-rate=
オプションを4m
に設定して動作させることで、アップロードが最大4MB/sに制限されるようにしました。
だから完全な設定は
s3cmd sync --limit-rate=4m ...
上記のすべてを試した後、s3cmd putを使用してもスロットルの問題が残っていることに気付きましたが、代わりにs3cmd syncを使用していません。これが誰かにとって迅速な修正に役立つことを願っています:)
これは一般的に、.s3cfgファイルのHTTPS設定によっても発生します。
.s3cfgの構成パラメーターを「use_https = False」から「use_https = True」に変更してみてください
AmazonバケットはHttpsにリダイレクトされるため、すべての再試行が行われることに注意してください。私はこの問題を現場でかなり見ています。