Tôi vừa thử sử dụng s3tools (s3cmd-1.5.0-rc1). Có gợi ý này từ Câu hỏi thường gặp của họ http://s3tools.org/kb/item13.htm . Xem bên dưới.
S3cmd có hỗ trợ tải lên nhiều phần không?
Có, phiên bản mới nhất của s3cmd hỗ trợ tải lên nhiều trang Amazon S3.
Tải lên nhiều phần được tự động sử dụng khi một tệp để tải lên lớn hơn 15MB. Trong trường hợp đó, tệp được chia thành nhiều phần, với mỗi phần có kích thước 15 MB (phần cuối có thể nhỏ hơn). Mỗi phần sau đó được tải lên riêng biệt và sau đó được xây dựng lại tại điểm đến khi quá trình chuyển hoàn tất.
Với tính năng mới này, nếu tải lên một phần không thành công, nó có thể được khởi động lại mà không ảnh hưởng đến bất kỳ phần nào khác đã được tải lên.
Có hai tùy chọn liên quan đến tải lên nhiều phần trong s3cmd. Họ đang:
--disable-nhiều phần
Vô hiệu hóa tải lên nhiều phần cho tất cả các tệp
và
--multipart-chunk-size-mb = KÍCH THƯỚC
Kích thước của mỗi đoạn của một tải lên nhiều phần. Các tệp lớn hơn SIZE được tự động tải lên dưới dạng đa luồng, các tệp nhỏ hơn được tải lên bằng phương pháp truyền thống. SIZE ở dạng Mega-Byte, kích thước khối mặc định là 15MB, kích thước khối tối thiểu được phép là 5MB, tối đa là 5GB.
Vì vậy, khi tôi tải lên, tôi chọn kích thước chunk nhỏ nhất. Bạn sẽ thấy bên dưới chia tách và tiếp tục tải lên.
$ 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!
Rồi tôi tiếp tục.
/usr/local/bin/s3cmd --upload-id XXX_SOME_HASH_XXX put --multipart-chunk-size-mb=5 some_video.mp4 s3://some_bucket/