Перейти к основному содержимому
Rclone
Последнее изменение:

Rclone

Rclone — это интерфейс командной строки для работы с объектами в объектном хранилище.

Через Rclone можно работать с S3 API.

Установить клиент

  1. Скачайте дистрибутив Rclone для Windows с официального сайта.
  2. Запустите приложение и следуйте инструкциям.

Подключиться к хранилищу через Rclone

  1. Выдайте пользователю S3-ключ.

  2. Откройте режим конфигурирования:

    rclone config
  3. В консоли появится диалог:

    No remotes found - make a new one
    n) New remote
    r) Rename remote
    c) Copy remote
    s) Set configuration password
    q) Quit config
    n/r/c/s/q>

    Введите n для создания новой конфигурации и нажмите Enter.

  4. Укажите имя подключения к удаленному хранилищу, например, selectel_s3:

    name> selectel_s3
  5. Введите число, соответствующее строке Amazon S3 Compliant Storage Provider (AWS, Alibaba, Ceph, Digital Ocean, Dreamhost, IBM COS, Minio, etc) (в примере — 4, в зависимости от версии Rclone меняется порядок хранилищ) и нажмите Enter.

    Type of storage to configure.
    Choose a number from below, or type in your own value
    1 / 1Fichier
    \ "fichier"
    2 / Alias for an existing remote
    \ "alias"
    3 / Amazon Drive
    \ "amazon cloud drive"
    4 / Amazon S3 Compliant Storage Provider (AWS, Alibaba, Ceph, Digital Ocean, Dreamhost, IBM COS, Minio, etc)
    \ "s3"
    [...]
    Storage> 4
  6. Введите число, соответвующее строке Any other S3 compatible provider (в данном примере это 10), и нажмите Enter.

    Choose your S3 provider.
    Enter a string value. Press Enter for the default ("").
    Choose a number from below, or type in your own value
    1 / Amazon Web Services (AWS) S3
    \ "AWS"
    2 / Alibaba Cloud Object Storage System (OSS) formerly Aliyun
    \ "Alibaba"
    3 / Ceph Object Storage
    \ "Ceph"
    [...]
    10 / Any other S3 compatible provider
    [...]
  7. В строке Enter AWS credentials in the next step выберите false:

    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"
  8. Введите ключи:

    AWS Access Key ID.
    Leave blank for anonymous access or runtime credentials.
    Enter a string value. Press Enter for the default ("").
    access_key_id> <access_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> <secret_key>

    Укажите:

    • <access_key> — значение поля Access key из S3-ключа;
    • <secret_key> — значение поля Secret key из S3-ключа.
  9. Выберите пул, в котором размещается объектное хранилище:

    region> ru-1
  10. Выберите URL для доступа по протоколу S3 API:

    • s3.ru-1.storage.selcloud.ru — при любой адресации;
    • <container-name>.s3.ru-1.storage.selcloud.ru — при использовании Virtual-Hosted адресации.

    Все пункты ниже можно оставить пустыми, нажав после каждого Enter.

  11. Проверьте все настройки:

    Remote config
    --------------------
    [selectel_s3]
    type = s3
    provider = Other
    env_auth = false
    access_key_id = <access_key>
    secret_access_key = <secret_key>
    region = ru-1
    endpoint = <url>
    --------------------
    y) Yes this is OK
    e) Edit this remote
    d) Delete this remote
    y/e/d>
  12. Если все указано правильно, введите y и нажмите Enter.

  13. Для выхода из диалога настроек введите q и нажмите Enter.

Работа с Rclone

Посмотреть все команды можно на сайте Rclone.

Создать контейнер

  1. Подключитесь к хранилищу.

  2. Создайте контейнер:

    rclone mkdir remote:<container_name>

    Укажите <container_name>— имя нового контейнера.

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

  1. Подключитесь к хранилищу.

  2. Посмотрите список объектов:

    rclone ls remote:<path>

    Укажите <path> — префикс, по которому нужно вывести список объектов.

Загрузить объект

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

  1. Подключитесь к хранилищу.

  2. Загрузите объект:

    rclone copy <object_name> <remote_name>:<container_name>

    Укажите:

    • <object_name>— имя объекта;
    • <remote_name>— имя подключения, указанное при конфигурировании Rclone;
    • <container_name>— имя целевого контейнера.

Удалить объект

  1. Подключитесь к хранилищу.

  2. Удалите объект:

    rclone deletefile remote:<object_name>

    Укажите <object_name> — префикс объекта, который нужно удалить.