I just tried using s3tools (s3cmd-1.5.0-rc1). Got this hint from their FAQ http://s3tools.org/kb/item13.htm. See below.
Does s3cmd support multipart uploads?
Yes, the latest version of s3cmd
supports Amazon S3 multipart uploads.
Multipart uploads are automatically used when a file to upload is
larger than 15MB. In that case the file is split into multiple parts,
with each part of 15MB in size (the last part can be smaller). Each
part is then uploaded separately and then reconstructed at destination
when the transfer is completed.
With this new feature, if an upload of a part fails, it can be
restarted without affecting any of the other parts already uploaded.
There are two options related to multipart uploads in s3cmd. They are:
--disable-multipart
Disable multipart uploads for all files
and
--multipart-chunk-size-mb=SIZE
Size of each chunk of a multipart upload. Files bigger than SIZE are automatically uploaded as
multithreaded-multipart, smaller files are uploaded using the
traditional method. SIZE is in Mega-Bytes, default chunk size is 15MB,
minimum allowed chunk size is 5MB, maximum is 5GB.
So when I upload I choose the smallest chunk size. You should see below splitting and resuming of upload.
$ 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!
Then I resume.
/usr/local/bin/s3cmd --upload-id XXX_SOME_HASH_XXX put --multipart-chunk-size-mb=5 some_video.mp4 s3://some_bucket/