use*_*254 10 upload amazon-s3 internet-connection
我有一堆文件(介于 500MB 和 7GB 之间)需要上传到 S3 存储桶。我的连接非常不稳定。
我尝试通过上传 500MB 的文件,s3cmd但在完成 91% 后超时(耗时 16 小时)
我尝试过 CyberDuck,但同样发生了。它在 20% 左右后失败,当我尝试重试传输时,它从头开始。CyberDuck 应该有多部分支持,但我想不是......
我可以将文件拆分为更小的文件,如下所示:如何将 .zip 文件拆分为多个段?,但我宁愿不这样做,除非这是我唯一的选择。什么是我可以使用的好程序,它可以让我将大文件上传到 S3 并支持恢复?
小智 6
我只是尝试使用 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 的文件自动上传为 multithreaded-multipart,较小的文件使用传统方法上传。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!
Run Code Online (Sandbox Code Playgroud)
然后我继续。
/usr/local/bin/s3cmd --upload-id XXX_SOME_HASH_XXX put --multipart-chunk-size-mb=5 some_video.mp4 s3://some_bucket/
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8538 次 |
| 最近记录: |