s3tools(s3cmd-1.5.0-rc1)を使ってみました。FAQ http://s3tools.org/kb/item13.htmからこのヒントを得ました。下記参照。
s3cmdはマルチパートアップロードをサポートしていますか?
はい、s3cmdの最新バージョンはAmazon S3マルチパートアップロードをサポートしています。
アップロードするファイルが15MBを超えると、マルチパートアップロードが自動的に使用されます。その場合、ファイルは複数の部分に分割され、各部分のサイズは15MBになります(最後の部分は小さくすることができます)。その後、各パーツは個別にアップロードされ、転送が完了すると、宛先で再構築されます。
この新機能により、パーツのアップロードが失敗した場合、既にアップロードされている他のパーツに影響を与えることなく、パーツを再起動できます。
s3cmdのマルチパートアップロードに関連する2つのオプションがあります。彼らです:
--disable-multipart
すべてのファイルのマルチパートアップロードを無効にする
そして
--multipart-chunk-size-mb = SIZE
マルチパートアップロードの各チャンクのサイズ。SIZEより大きいファイルはマルチスレッドマルチパートとして自動的にアップロードされ、小さいファイルは従来の方法でアップロードされます。SIZEはメガバイト単位で、デフォルトのチャンクサイズは15MB、最小許容チャンクサイズは5MB、最大は5GBです。
アップロードするときは、最小のチャンクサイズを選択します。アップロードの分割と再開が以下に表示されます。
$ s3cmd put --multipart-chunk-size-mb=5 some_video.mp4 s3://some_bucket/
some_video.mp4 -> s3://some_bucket/some_video.mp4 [part 1 of 52, 5MB]
5242880 of 5242880 100% in 164s 31.08 kB/s done
some_video.mp4 -> s3://some_bucket/some_video.mp4 [part 2 of 52, 5MB]
5242880 of 5242880 100% in 193s 26.46 kB/s done
some_video.mp4 -> s3://some_bucket/some_video.mp4 [part 3 of 52, 5MB]
2023424 of 5242880 38% in 135s 14.59 kB/s^CERROR:
some_video.mp4' part 3 failed. Use
/usr/local/bin/s3cmd abortmp s3://some_bucket/some_video.mp4 XXX_SOME_HASH_XXX
to abort the upload, or
/usr/local/bin/s3cmd --upload-id XXX_SOME_HASH_XXX put ...
to continue the upload.
See ya!
それから再開します。
/usr/local/bin/s3cmd --upload-id XXX_SOME_HASH_XXX put --multipart-chunk-size-mb=5 some_video.mp4 s3://some_bucket/