Rclone for S3
Configuration
Please note that the configuration example may vary from version to version. Version 2.0.1 was used in this example.
To configure rclone to work with the Selectel Cloud Storage, run the following:
rclone config
The console will display the following dialog:
No remotes found - make a new one
n) New remote
[...]
n/r/c/s/q>
Select n and press Enter.
Specify the name of the connection to the remote storage (any name is appropriate, for example, selectel-s3):
name> selectel-s3
Select the storage type:
Type of storage to configure.
Choose a number from below, or type in your own value
[...]
4 / Amazon S3 Compliant Storage Provider (AWS, Alibaba, Ceph, Digital Ocean, Dreamhost, IBM COS, Minio, etc)
\ "s3"
[...]
Select s3:
Storage> s3
Choose the service provider:
Choose your S3 provider.
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
[...]
10 / Any other S3 compatible provider
\ "Other"
Specify Other:
provider> Other
Select the type of credentials (manually or from environment variables):
Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars).
Only applies if access_key_id and secret_access_key is blank.
Enter a boolean value (true or false). Press Enter for the default ("false").
Choose a number from below, or type in your own value
1 / Enter AWS credentials in the next step
\ "false"
2 / Get AWS credentials from the environment (env vars or IAM)
\ "true"
Specify false to enter data manually:
env_auth> false
The system will request the access key (login).
AWS Access Key ID.
Leave blank for anonymous access or runtime credentials.
Enter a string value. Press Enter for the default ("").
Enter your login in the AccountNumber_UserName format:
access_key_id> AccountNumber_UserName
The system will request the secret key (password). You can view the password in the Conrol panel.
AWS Secret Access Key (password)
Leave blank for anonymous access or runtime credentials.
Enter a string value. Press Enter for the default ("").
Enter user password:
secret_access_key> password
The system will request the region:
Region to connect to.
Leave blank if you are using an S3 clone and you don't have a region.
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
[...]
Enter the ru-1a region:
region> ru-1a
Select endpoint:
Endpoint for S3 API.
Required when using an S3 clone.
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
Enter https://s3.selcdn.ru:
endpoint> https://s3.selcdn.ru
Specify the region of bucket creation:
Location constraint - must be set to match the Region.
Leave blank if not sure. Used when creating buckets only.
Enter a string value. Press Enter for the default ("").
location_constraint>
Leave the field blank and press Enter.
Set ACL access rights:
Canned ACL used when creating buckets and/or storing objects in S3.
For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
Choose a number from below, or type in your own value
1 / Owner gets FULL_CONTROL. No one else has access rights (default).
\ "private"
[...]
Select private:
acl> private
After that, you can deny the advanced configuration:
Edit advanced config? (y/n)
y) Yes
n) No
Enter n:
y/n> n
Check the data:
--------------------
[selectel-s3]
type = s3
provider = Other
env_auth = false
access_key_id = AccountNumber_UserName
secret_access_key = Password
region = ru-1a
endpoint = https://s3.selcdn.ru
acl = private
--------------------
y) Yes this is OK
e) Edit this remote
d) Delete this remote
Save the created profile. Enter y:
y/e/d> y
Command Syntax for Working with the Storage
You can learn more about all commands in the official rclone documentation.
For a quick reference, run the following:
rclone --help
Viewing a List of Buckets
rclone lsd selectel-s3:
Creating a New Bucket
rclone mkdir selectel-s3:BucketName
Viewing a List of Files
rclone ls selectel-s3:BucketName
Copying Files from the Local Machine to the Storage
rclone copy /home/local/directory selectel-s3:BucketName
Synchronizing Files on the Local Machine and in the Storage
rclone sync /home/local/directory selectel-s3:BucketName
Synchronizing Files in the Storage with Files on the Local Machine
rclone sync selectel-s3:BucketName /home/local/directory
When performing copy and sync operations, rclone checks all files by date and modification time, as well as by md5 sum. The files that have changed are transferred from the source container to the designated one.