Rclone для S3

Конфигурация

Примечание: пример конфигурации может отличаться от версии к версии, в данном примере использовалась версия 2.0.1.

Для настройки rclone для работы с Облачным хранилищем Selectel введите:

rclone config

На консоли появится диалог:

No remotes found - make a new one
n) New remote
[...]
n/r/c/s/q>

Выберите n и нажмите клавишу Enter.

Укажите имя подключения к удаленному хранилищу (подходит любое имя, например, selectel-s3):

name> selectel-s3

Выберите тип хранилища:

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"

[...]

Укажите s3:

Storage> s3

Выберите поставщика услуг:

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"

Укажите Other:

provider> Other

Выберите тип ввода учетных данных (вручную или из переменных окружения):

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"

Для ввода данных вручную укажите false:

env_auth> false

Система запросит access key (логин).

AWS Access Key ID.

Leave blank for anonymous access or runtime credentials.

Enter a string value. Press Enter for the default ("").

Введите логин в формате НомерАккаунта_ИмяПользователя:

access_key_id> НомерАккаунта_ИмяПользователя

Система запросит secret key (пароль). Пароль можно посмотреть в панели управления.

AWS Secret Access Key (password)

Leave blank for anonymous access or runtime credentials.

Enter a string value. Press Enter for the default ("").

Введите пароль пользователя:

secret_access_key> пароль

Система запросит ввести регион:

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

[...]

Введите регион ru-1a:

region> ru-1a

Выберите эндпоинт:

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

Введите https://s3.selcdn.ru:

endpoint> https://s3.selcdn.ru

Укажите регион создания бакета:

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>

Оставьте поле пустым и нажмите Enter.

Установите права доступа ACL:

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"
[...]

Выберите private:

acl> private

После этого можно отказаться от расширенной конфигурации:

Edit advanced config? (y/n)

y) Yes

n) No

Введите n:

y/n> n

Сверьте данные:

--------------------
[selectel-s3]
type = s3
provider = Other
env_auth = false
access_key_id = НомерАккаунта_ИмяПользователя
secret_access_key = Пароль
region = ru-1a
endpoint = https://s3.selcdn.ru
acl = private
--------------------
y) Yes this is OK

e) Edit this remote

d) Delete this remote

Сохраните созданный профиль, введите y:

y/e/d> y

Синтаксис команд для работы с хранилищем

Подробнее обо всех командах можно прочитать в официальной документации.

Краткую справку можно получить с помощью команды:

rclone --help

Просмотр списка бакетов

rclone lsd selectel-s3:

Создание нового бакета

rclone mkdir selectel-s3:ИмяБакета

Просмотр списка файлов

rclone ls selectel-s3:ИмяБакета

Копирование файлов с локальной машины в хранилище

rclone copy /home/local/directory selectel-s3:ИмяБакета

Синхронизация файлов на локальной машине и в хранилище

rclone sync /home/local/directory selectel-s3:ИмяБакета

Синхронизация файлов в хранилище с файлами на локальной машине

rclone sync selectel-s3:ИмяБакета /home/local/directory

При выполнении операций копирования и синхронизации rclone проверяет все файлы по дате и времени изменения, а также по md5-сумме. Из исходного контейнера в назначенный контейнер передаются те файлы, которые были изменены.