rclone для работы с Object Storage
rclone® — это утилита командной строки для синхронизации файлов и каталогов между локальной машиной и облачным хранилищем.
Перед началом работы
Для доступа Object Storage подготовьте:
Tenant ID — идентификатор тенанта. ID тенанта можно скопировать в сервисе Object Storage платформы Evolution.
Key ID (логин) и Key Secret (пароль) — формируются при создании персонального API-ключа или ключа сервисного аккаунта.
Endpoint — s3.cloud.ru.
Убедитесь, что аккаунту, от чьего имени выполняется подключение, назначена роль не ниже s3e.editor.
Установите rclone®:
Скачайте архив с rclone® на сайте разработчика. Распакуйте архив в каталог на своем устройстве.
Добавьте каталог с rclone® в переменную PATH:
Скопируйте путь до каталога с утилитой.
Нажмите сочетание клавиш Win+S.
В строке поиска введите Изменение системных переменных среды.
Справа снизу нажмите Переменные среды.
В открывшемся окне найдите параметр PATH и нажмите Изменить.
Нажмите Создать и добавьте путь к каталогу в список.
Нажмите кнопку ОК.
Настройка rclone
Введите команду rclone config.
Создайте новое подключение:
Выберите n (New remote).
Введите название, например s3-cloud.
Настройте параметры подключения:
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 оставьте по умолчанию.
Настройте расширенные параметры:
Edit advanced config? — введите y.
force_path_style — введите true.
v2_auth — введите false.
Значения остальных параметров оставьте по умолчанию — для их пропуска нажимайте Enter.
Выберите 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.
С полным списком возможностей и настроек других параметров можно ознакомиться на сайте разработчика.
- Перед началом работы
- Настройка rclone
- Проверка подключения
- Примеры команд
- Примечания