rclone для работы с Object Storage
rclone® — это утилита командной строки для синхронизации файлов и каталогов между локальной машиной и облачным хранилищем.
Перед началом работы
-
Для доступа Object Storage подготовьте:
-
Tenant ID — идентификатор тенанта. Его можно скопировать на странице с бакетами.
-
Key ID (логин) и Key Secret (пароль) — формируются при создании персонального API-ключа или ключа сервисного аккаунта.
-
Endpoint — https://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
- Проверка подключения
- Примеры команд
- Примечания