如何在不穩定的連線上將大檔案上傳到 S3?

如何在不穩定的連線上將大檔案上傳到 S3?

我有一堆檔案(500MB 到 7GB 之間)需要上傳到 S3 儲存桶。我的連接非常不穩定。

我嘗試透過上傳 500MB 文件,s3cmd但在完成 91% 後逾時(花了 16 個小時)

我嘗試使用 Cyber​​Duck,但也發生了同樣的情況。大約 20% 後就失敗了,當我嘗試重試傳輸時,它從頭開始。 Cyber​​Duck 應該有多部分支持,但我想不是......

我可以將文件分成更小的文件,如下所示:如何將 .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

我相信Cyber​​duck在傳輸視窗中,您可以右鍵單擊並選擇簡歷。

如果這不起作用,雲莓支持斷點續傳

答案3

您可以使用 FileZilla Pro 在 S3 儲存桶之間傳輸檔案。 FileZilla Pro 支援分段上傳,如果失敗,它將恢復傳輸。

根據記錄,它還具有許多其他功能:大檔案支援、批量傳輸、過濾器、目錄比較、遠端檔案搜尋、拖放、速度限製配置。

我是 FileZilla Pro 團隊的成員。

了解更多信息,請訪問https://filezillapro.com並在https://youtube.com/c/FileZillaPro

相關內容