💾 Archived View for wilw.capsule.town › notes › s3cmd-profiles.gmi captured on 2024-05-10 at 11:02:49. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-04-19)
-=-=-=-=-=-=-
`s3cmd` [1] is an excellent tool for interacting with S3-compatible storage solutions (Amazon S3, Backblaze B2, Linode Object Storage, etc.) via the command line.
I personally find it easier to use and more intuitive than the `aws` equivalent.
The tool can be installed (on a Mac) via Homebrew:
brew install s3cmd
The tool comes with a `--configure` command in order to create a valid configuration file.
However, I need to deal with several storage accounts at any one time (for various things), and so it is useful for me to have separate profiles.
I keep these in my home directory. For example, my "personal" config file (`~/.s3personal`) looks like this (for Linode Object Storage):
[personal] access_key = CHANGETHIS secret_key = CHANGETHIS host_base = eu-central-1.linodeobjects.com host_bucket = %(bucket)s.eu-central-1.linodeobjects.com
The `access_key` and `secret_key` can be provided by your storage provider.
You can create as many of these config files as required. I (currently) can't find a way to keep them nicely in one file, but there may be one.
The profiles can be used by including a `-c` flag in your calls to `s3cmd`.
For example, to use my personal profile to upload to a bucket I use:
s3cmd -c ~/.s3personal put FILE.png s3://BUCKET/path/FILE.png