我只是尝试使用s3tools(s3cmd-1.5.0-rc1)。从他们的常见问题解答http://s3tools.org/kb/item13.htm中获得了此提示。见下文。
s3cmd支持分段上传吗?
是的,最新版本的s3cmd支持Amazon S3分段上传。
当要上传的文件大于15MB时,会自动使用分段上传。在这种情况下,文件将分成多个部分,每个部分的大小为15MB(最后一部分可以更小)。然后将每个部分分别上载,然后在传输完成后在目标位置重建。
使用此新功能,如果零件上载失败,则可以重新启动它,而不会影响已经上载的任何其他零件。
s3cmd中有两个与分段上传相关的选项。他们是:
--disable-multipart
禁用所有文件的分段上传
和
--multipart-chunk-size-mb =尺寸
分段上传的每个块的大小。大于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/