我有一堆檔案(500MB 到 7GB 之間)需要上傳到 S3 儲存桶。我的連接非常不穩定。
我嘗試透過上傳 500MB 文件,s3cmd
但在完成 91% 後逾時(花了 16 個小時)
我嘗試使用 CyberDuck,但也發生了同樣的情況。大約 20% 後就失敗了,當我嘗試重試傳輸時,它從頭開始。 CyberDuck 應該有多部分支持,但我想不是......
我可以將文件分成更小的文件,如下所示:如何將 .zip 檔案拆分為多個段?,但我寧願不這樣做,除非這是我唯一的選擇。有什麼好的程式可以讓我將大檔案上傳到 S3 並支援恢復?
答案1
我剛剛嘗試使用 s3tools (s3cmd-1.5.0-rc1)。從他們的常見問題中得到了這個提示http://s3tools.org/kb/item13.htm。見下文。
s3cmd支援分段上傳嗎?
是的,最新版本的 s3cmd 支援 Amazon S3 分段上傳。
當要上傳的檔案大於 15MB 時,會自動使用分段上傳。在這種情況下,檔案會被分成多個部分,每個部分的大小為 15MB(最後一部分可以更小)。然後,每個部分分別上傳,並在傳輸完成後在目的地重建。
使用此新功能,如果某個部分上傳失敗,可以重新啟動該部分,而不會影響已上傳的任何其他部分。
s3cmd 中有兩個與分段上傳相關的選項。他們是:
--禁用多部分
禁用所有檔案的分段上傳
和
--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/
答案2
我相信Cyberduck在傳輸視窗中,您可以右鍵單擊並選擇簡歷。
如果這不起作用,雲莓支持斷點續傳
答案3
您可以使用 FileZilla Pro 在 S3 儲存桶之間傳輸檔案。 FileZilla Pro 支援分段上傳,如果失敗,它將恢復傳輸。
根據記錄,它還具有許多其他功能:大檔案支援、批量傳輸、過濾器、目錄比較、遠端檔案搜尋、拖放、速度限製配置。
我是 FileZilla Pro 團隊的成員。
了解更多信息,請訪問https://filezillapro.com並在https://youtube.com/c/FileZillaPro