nav-img
Evolution

rclone для работы с Object Storage

rclone® — это утилита командной строки для синхронизации файлов и каталогов между локальной машиной и облачным хранилищем.

Перед началом работы

  1. Для доступа Object Storage подготовьте:

  2. Убедитесь, что аккаунту, от чьего имени выполняется подключение, назначена роль не ниже s3e.editor.

  3. Установите rclone®:


  1. Скачайте архив с rclone® на сайте разработчика. Распакуйте архив в каталог на своем устройстве.

  2. Добавьте каталог с rclone® в переменную PATH:

    1. Скопируйте путь до каталога с утилитой.

    2. Нажмите сочетание клавиш Win+S.

    3. В строке поиска введите Изменение системных переменных среды.

    4. Справа снизу нажмите Переменные среды.

    5. В открывшемся окне найдите параметр PATH и нажмите Изменить.

    6. Нажмите Создать и добавьте путь к каталогу в список.

    7. Нажмите кнопку ОК.

Настройка rclone

  1. Введите команду rclone config.

  2. Создайте новое подключение:

    • Выберите n (New remote).

    • Введите название, например s3-cloud.

  3. Настройте параметры подключения:

    • Storage — выберите 4 (Amazon S3 Compliant Storage Providers).

    • Provider — выберите 34 (Any other S3 compatible provider).

    • env_auth — выберите 1 (Enter AWS credentials in the next step).

    • Access Key ID: — введите <tenant_id>:<key_id>.

    • Secret Access Key — введите <key_secret>.

    • Region — введите ru-central-1.

    • Endpoint — введите https://s3.cloud.ru.

    Значения параметров location_constraint и acl оставьте по умолчанию.

  4. Настройте расширенные параметры:

    • Edit advanced config? — введите y.

    • force_path_style — введите true.

    • v2_auth — введите false.

  5. Значения остальных параметров оставьте по умолчанию — для их пропуска нажимайте Enter.

  6. Выберите y (Yes), чтобы сохранить конфигурацию.

Проверка подключения

Проверьте список бакетов командой rclone lsd s3-cloud:.

Если у вас есть бакеты, отобразится список с ними. Если бакетов нет, вернется пустая строка.

В противном случае команда вернет ошибку подключения. Проверьте правильность введенных данных (Access Key, Secret Key, Endpoint).

Примеры команд

  • Создать бакет:

    rclone mkdir s3-cloud:customer-bucket-name
  • Получить список объектов в бакете:

    rclone ls s3-cloud:customer-bucket-name
  • Скопировать объекты из исходного хранилища в целевое:

    rclone copy -v -P --log-file=rclone.log --checksum --bwlimit <bwlimit> --transfers=<transfers> <source_profile>:<source_bucket> <destination_profile>:<destination__bucket>

    Где:

    • <bwlimit> — ограничение пропускной способности, задается в M (МБ).

    • <transfers> — количество параллельных потоков копирования.

    • <source_profile> — название конфигурации rclone® исходного хранилища, из которого копируются данные.

    • <source_bucket> — название бакета, из которого копируются данные.

    • <destination_profile> — название конфигурации rclone® целевого хранилища, в которое копируются данные.

    • <destination__bucket> — название бакета, в который копируются данные.

  • Синхронизировать объекты в исходящем и целевом хранилищах:

    rclone sync -v -P --log-file=rclone.log --checksum --bwlimit <bwlimit> --transfers=<transfers> <source_profile>:<source_bucket> <destination_profile>:<destination__bucket>

    С расшифровкой параметров можно ознакомиться выше.

Полный список команд для rclone® смотрите на сайте разработчика.

Примечания

  • Для работы с большими файлами можно настроить параметры chunk_size и upload_concurrency в расширенных настройках.

  • Для тестирования команд без непосредственного выполнения изменений используйте флаги --dry-run.

С полным списком возможностей и настроек других параметров можно ознакомиться на сайте разработчика.