S3cmd
S3cmd is a command-line interface for working with services that support the Amazon S3 HTTP API (S3 API).
Configure S3cmd
1. Configure access to S3
Access can be configured by the Account Owner or a user with the iam.admin role.
- Create a service user with a role with access to S3. If you use a service user with the
s3.user,object_storage_userors3.bucket.userrole, the bucket must have a configured access policy and its rules must allow access to this user. - Issue an S3 key to the user.
2. Install the client
From the S3cmd GitHub, download and install the client.
3. Create an s3cmd configuration
-
Open the terminal.
-
Open the configuration mode:
s3cmd --configure -
Enter
Access Key— the value of the Access key field from the S3 key. -
Enter
Secret Key— the value of the Secret key field from the S3 key. -
Enter
Default Region— pool. -
Enter
S3 Endpoint— the S3 API domain. The domain depends on the pool where S3 is located. -
Enter DNS-style
bucket+hostname:port template for accessing a bucket— the S3 API domain. The domain depends on the pool where S3 is located. The settings will be saved in the~/.s3cfgfile:[default]access_key = <access_key>secret_key = <secret_key>bucket_location = <pool>host_base = <s3_domain>host_bucket = <s3_domain>
Working with S3cmd
You can view all commands in the Usage guide of the S3cmd documentation.
Create a bucket
-
Open the terminal.
-
Create a bucket:
s3cmd mb s3://<bucket_name>Specify
<bucket_name>— the name of the new bucket.
View the list of objects
-
Open the terminal.
-
View the list of objects:
s3cmd ls s3://<bucket_name>Specify
<bucket_name>— the bucket name.
Upload an object
-
Open the terminal.
-
Upload an object:
s3cmd put <path> s3://<bucket_name>/<prefix>Specify:
<path>— path to the file in the local directory;<bucket_name>— bucket name;<prefix>— optional: prefix under which the object will be uploaded.
Remove an object
-
Open the terminal.
-
Remove an object:
s3cmd rm s3://<bucket_name>/<object_name>Specify:
<bucket_name>— bucket name;<object_name>— object name.