rclone для работы с Object Storage
rclone® — это утилита командной строки для синхронизации файлов и каталогов между локальной машиной и облачным хранилищем. Для установки rclone® скачайте дистрибутив на сайте разработчика.
Перед началом работы
Для доступа Object Storage потребуются:
Tenant ID — идентификатор тенанта. ID тенанта можно скопировать в сервисе Object Storage платформы Evolution.
Key ID (логин) и Key Secret (пароль) — формируются при создании персонального API-ключа или ключа сервисного аккаунта.
Endpoint — s3.cloud.ru.
Настройка rclone
В рабочей папке запустите командную строку от имени администратора и выполните команду:
.\psexec -i -s cmd.exeВ открывшейся консоли введите команду whoami.
ВниманиеУбедитесь, что сессия запущена от имени системного пользователя.
Введите команду rclone config.
Создайте новое удаленное хранилище:
Выберите n(New remote).
Введите название, например s3-cloud.
Настройте параметры подключения:
Для параметра Тип хранилища выберите 4.
Для параметра Провайдер выберите 1.
Для параметра Access Key ID: введите <tenant_id>:<key_id>.
Для параметра Secret Access Key введите <key_secret>.
Для параметра Регион введите регион ru-central-1.
Для параметра Endpoint введите https://s3.cloud.ru..
Значения остальных параметров оставьте по умолчанию.
Нажмите Enter.
Выберите y(Yes), чтобы сохранить конфигурацию.
Проверка подключения
Проверьте список бакетов командой rclone lsd s3-cloud.
Если вы видите список бакетов, подключение прошло успешно.
В противном случае создайте бакет командой rclone mb.
Примеры команд
Создать бакет:
rclone mkdir s3_evolution:customer-bucket-nameПолучить список объектов в бакете:
rclone ls s3_evolution: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® смотрите на сайте разработчика.
Примечания
Убедитесь, что у сервисного аккаунта достаточно прав для выполнения требуемых операций.
При возникновении проблем с подключением проверьте правильность введенных данных (Access Key, Secret Key, Endpoint).
Для работы с большими файлами можно настроить параметры chunk_size и upload_concurrency в расширенных настройках.
Для тестирования команд без непосредственного выполнения изменений используйте флаги --dry-run.
С полным списком возможностей и настроек других параметров можно ознакомиться на сайте разработчика.