ฉันแค่ลองใช้ s3tools (s3cmd-1.5.0-rc1) มีคำแนะนำจากพวกเขาคำถามที่พบบ่อยhttp://s3tools.org/kb/item13.htm ดูด้านล่าง
s3cmd รองรับการอัปโหลดหลายส่วนหรือไม่
ใช่ s3cmd รุ่นล่าสุดรองรับการอัปโหลดหลายส่วนของ Amazon S3
การอัปโหลดหลายส่วนจะถูกใช้โดยอัตโนมัติเมื่อไฟล์ที่จะอัปโหลดมีขนาดใหญ่กว่า 15MB ในกรณีนั้นไฟล์จะถูกแบ่งออกเป็นหลายส่วนโดยแต่ละส่วนมีขนาด 15MB (ส่วนสุดท้ายอาจเล็กกว่า) แต่ละส่วนจะถูกอัพโหลดแยกต่างหากจากนั้นสร้างขึ้นใหม่ที่ปลายทางเมื่อการถ่ายโอนเสร็จสิ้น
ด้วยคุณสมบัติใหม่นี้หากการอัปโหลดชิ้นส่วนล้มเหลวก็สามารถเริ่มใหม่ได้โดยไม่กระทบกับส่วนอื่น ๆ ที่อัปโหลดแล้ว
มีสองตัวเลือกที่เกี่ยวข้องกับการอัปโหลดหลายส่วนใน s3cmd พวกเขาคือ:
--disable-multipart
ปิดใช้งานการอัปโหลดหลายส่วนสำหรับไฟล์ทั้งหมด
และ
--multipart-ก้อนขนาด 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/