awscli
is the official command-line interface for all Amazon Web Services (AWS).
ref:
https://github.com/aws/aws-cli
Configuration
$ pip install awscli
$ aws configure
ref:
https://docs.aws.amazon.com/cli/latest/index.html
S3
Download A Folder
$ aws s3 sync \
s3://files.vinta.ws/static/images/stickers/ \
.
ref:
https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html
https://docs.aws.amazon.com/cli/latest/userguide/cli-services-s3-commands.html#using-s3-commands-managing-objects
Rename A Folder
$ aws s3 cp \
s3://files.vinta.ws/static/images/stickers_BACKUP/ \
s3://files.vinta.ws/static/images/stickers/ \
--recursive
ref:
https://docs.aws.amazon.com/cli/latest/reference/s3/cp.html
Make A Folder Public Read
$ aws s3 sync \
s3://files.vinta.ws/static/ \
s3://files.vinta.ws/static/ \
--grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers
Upload Files
# also make them public read
$ aws s3 cp \
. \
s3://files.vinta.ws/static/images/stickers/ \
--recursive \
--grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers
$ aws s3 cp \
db.sqlite3 \
s3://files.albedo.one/
$ aws s3 sync \
./ \
s3://files.albedo.one/ \
--recursive --exclude "*" --include "*.pickle"
Copy Files Between S3 Buckets
$ aws s3 sync s3://your_bucket_1/media s3://your_bucket_2/media \
--acl "public-read" \
--exclude "track_audio/*"
Remove Files
$ aws s3 rm s3://your_bucket_1/media/track_audio --recursive
ref:
https://docs.aws.amazon.com/cli/latest/reference/s3/rm.html