<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://kevininscoe.com/wiki/index.php?action=history&amp;feed=atom&amp;title=S3-parallel-put_Notes</id>
	<title>S3-parallel-put Notes - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://kevininscoe.com/wiki/index.php?action=history&amp;feed=atom&amp;title=S3-parallel-put_Notes"/>
	<link rel="alternate" type="text/html" href="https://kevininscoe.com/wiki/index.php?title=S3-parallel-put_Notes&amp;action=history"/>
	<updated>2026-05-11T20:27:33Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.40.1</generator>
	<entry>
		<id>https://kevininscoe.com/wiki/index.php?title=S3-parallel-put_Notes&amp;diff=921&amp;oldid=prev</id>
		<title>Ah2l671Liu8Hah$K2eit: Created page with &quot;Third-party S3 tool S3-parallel-put  Official Repository - https://github.com/twpayne/s3-parallel-put  ==Usage==  This script is not that refined and has some quirks to get it...&quot;</title>
		<link rel="alternate" type="text/html" href="https://kevininscoe.com/wiki/index.php?title=S3-parallel-put_Notes&amp;diff=921&amp;oldid=prev"/>
		<updated>2020-08-19T15:57:52Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;Third-party S3 tool S3-parallel-put  Official Repository - https://github.com/twpayne/s3-parallel-put  ==Usage==  This script is not that refined and has some quirks to get it...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Third-party S3 tool S3-parallel-put&lt;br /&gt;
&lt;br /&gt;
Official Repository - https://github.com/twpayne/s3-parallel-put&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
This script is not that refined and has some quirks to get it to operate. &lt;br /&gt;
&lt;br /&gt;
Definitely run this with --limit=xxx and --dryrun&lt;br /&gt;
&lt;br /&gt;
It gets it&amp;#039;s AWS creds currently via env vars, so you have to set those first. I may change that so it reads a cfg file, but haven&amp;#039;t yet.&lt;br /&gt;
&lt;br /&gt;
Set env vars (bash):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
export AWS_ACCESS_KEY_ID=key&lt;br /&gt;
export AWS_SECRET_ACCESS_KEY=secret_key&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cd to directory you want to upload from. s3pp works of cwd &amp;quot;.&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ time /home/kinscoe/s3_software/s3-parallel-put/s3-parallel-put --put=update \\&lt;br /&gt;
--host=s3.amazonaws.com --bucket=my-review.hrw.com --walk=filesystem --content-type=guess \\&lt;br /&gt;
--processes=10 --limit=100 . --dry-run&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to put the objects into a &amp;quot;path&amp;quot; other than root on the bucket, you have to define the leading prefix&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--prefix=target_dir_in_bucket/however/far/deep&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can use --put=stupid on the first run and it won&amp;#039;t bother checking for existence and just put/overwrite anything in the bucket with the same prefix/path.&lt;br /&gt;
&lt;br /&gt;
For processes you should start low. Especially if the files are huge and you have little RAM. I had to run with 10 with 8GB of ram and that was pushing it sometimes when s3pp encountered big zip files, etc.&lt;br /&gt;
&lt;br /&gt;
Here are actual examples I have used for s3cmd and s3pp for s3 url composition reference:&lt;br /&gt;
&lt;br /&gt;
s3cmd:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ date; time /usr/bin/s3cmd -c /home/ec2-user/.s3cfg sync --no-check-md5 --delete-removed --no-preserve --verbose --progress /mnt/error_pages/ s3://mybucket/error_pages/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;--no-check-md5&amp;quot; prevents md5 checks on initial upload for a speed bump, but you may not want that really&lt;br /&gt;
&lt;br /&gt;
s3pp:&lt;br /&gt;
&lt;br /&gt;
This example is to upload &amp;quot;admin&amp;quot; as a subdir to the bucket off root (notice the &amp;quot;cwd&amp;quot; kick off point and the &amp;quot;--prefix&amp;quot; option to define the dir/path/prefix to start it on s3.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd /mnt/admin&lt;br /&gt;
$ time /home/ec2-user/s3_software/s3-parallel-put/s3-parallel-put --put=update --host=s3.amazonaws.com --bucket=mybucket --walk=filesystem --content-type=guess --processes=25 . --prefix=/hlroadmin --limit=50 --dry-run&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ah2l671Liu8Hah$K2eit</name></author>
	</entry>
</feed>