A quick and extremely simple utility based on durch/rust-s3 for interacting with S3 compatible object stores because all the other tools I could find needed configuration and I'm not into it.
Install via cargo install s3-util
to build from source, cargo binstall s3-util
to fetch a binary if you have cargo-binstall
available, or grab a pre-build binary from the releases or a docker container from ghcr.io/ryankurte/s3-util
.
Examples:
s3-util upload dir/something.txt ./localfile.txt
to upload localfile.txt
to dir/something.txt
in the buckets3-util upload dir/something.txt ./*.txt
to glob for a file matching ./*.txt
and upload to dir/something.txt
in the buckets3-util upload-dir prefix/ ./*.txt
to upload each file matching ./*.txt
with the prefix prefix/
You can also set the ACL with --acl
, for example: --acl=public-read
for a public bucket
See s3-util [SUBCOMMAND] --help
for more information, you need to configure all the options as appropriate for your object-storage provider (specifically: ACCESS_KEY
, S3_BUCKET
, S3_ENDPOINT
, S3_REGION
and SECRET_KEY
).
``` s3-util 0.1.0
USAGE:
s3-util [OPTIONS] --access-key
FLAGS: -h, --help Prints help information -V, --version Prints version information
OPTIONS:
--access-key
SUBCOMMANDS: delete Delete an item from the bucket download Download an item from the bucket help Prints this message or the help of the given subcommand(s) list Show items in bucket upload Upload an item to the bucket upload-dir Upload files from a directory ```