Подключение через rclone
Утилита rclone предназначена для работы с облачными хранилищами. Основная функция утилиты — синхронизация данных между облачными или локальными хранилищами. Помимо синхронизации данных, с помощью утилиты rclone можно управлять бакетами и объектами хранилища через интерфейс командной строки.
Утилиту rclone можно установить на сервер с ОС Linux, macOS, Windows и т.д. Полный список ОС, дистрибутивы и инструкции по их установке см. на официальном сайте rclone.
Синхронизация данных
Чтобы синхронизировать данные между бакетами:
Установите утилиту rclone.
Настройте подключение к облачным хранилищам, между которыми будут переноситься данные.
При необходимости конфигурацию подключения можно изменить позже.Скопируйте данные между бакетами.
Управление бакетами и объектами
Чтобы создать бакет, загрузить/удалить объекты и т.д.:
Установите утилиту rclone.
Настройте подключение к облачному хранилищу.
При необходимости конфигурацию подключения можно изменить позже.Выполните нужные команды в rclone.
Установка rclone
Дистрибутивы и инструкцию по их установке см. в официальной документации rclone.
Настройка подключения к облачному хранилищу
Чтобы настроить подключение:
Получите Access key и Secret. Подробнее см. раздел Создание статических ключей для Объектного хранилища S3.
На сервере с установленной утилитой rclone выполните команду:
Появится диалог с возможными действиями:
Введите n и нажмите Enter:
Введите имя нового подключения (например, T1S3) и нажмите Enter:
В качестве типа хранилища введите значение s3 и нажмите Enter:
В качестве провайдера введите Other и нажмите Enter:
Введите false, чтобы rclone использовал Access key и Secret, введённые на следующих шагах. Нажмите Enter:
Введите <access key> и нажмите Enter:
где <access key> — значение Access key, полученное при создании статических ключей.
Введите <secret> и нажмите Enter:
где <secret> — значение Secret, полученное при создании статических ключей.
Оставьте поле пустым и нажмите Enter:
Введите <URL endpoint> и нажмите Enter:
где <URL endpoint> — адрес Endpoint Объектного хранилища S3:
https://api.s3.dp.t1.cloud — для Объектного хранилища S3 AZ0;
https://api.s3.az1.t1.cloud — для Объектного хранилища S3 AZ1;
https://api4.s3.mz1.t1.cloud — для Объектного хранилища S3 MZ1.
Оставьте поле пустым и нажмите Enter:
Поле определяет ЦОД, в котором будут создаваться бакеты. Оставьте его пустым, т.к. ЦОД был выбран при подключении Объектного хранилища S3.Введите значение, определяющее права доступа к бакетам и объектам, и нажмите Enter:
Оставьте поле пустым и нажмите Enter:
Поле определяет алгоритм шифрования на стороне сервера, используемый при хранении объектов в S3. Оставьте его пустым, чтобы не использовать шифрование.
- Оставьте поле пустым и нажмите Enter:
Поле определяет класс хранилища, используемый при сохранении объектов в S3. Оставьте его пустым, т.к. классы хранилищ не используются.
После ввода значений появится диалог о дополнительных настройках подключения: - Введите n и нажмите Enter:
Появится диалог с ранее заполненными параметрами: Проверьте данные, введите y и нажмите Enter:
Для выхода введите q и нажмите Enter.
Проверьте подключение к хранилищу. Например, выполните команду для просмотра списка бакетов. Если список бакетов отобразился, значит подключение настроено корректно.
Копирование данных между бакетами
Важно
Запускайте команды в сессии экранного менеджера screen/tmux, чтобы избежать завершения работы утилиты rclone во время копирования данных.
Если при копировании данных в папке или бакете уже есть файл с таким же названием, то файл заменяется и его метаданные обновляются.
Чтобы скопировать данные между бакетами, выполните команду:
где:
<имя_подключения_источника> — имя подключения, из которого нужно скопировать данные. Например, T1S3;
<имя_бакета1> — название бакета, из которого нужно скопировать данные;
<имя_подключения_приёмника> — имя подключения, в которое нужно скопировать данные. Например, T1S31;
<имя_бакета2> — название бакета, в который нужно скопировать данные.
Примечание
При копировании данных может возникать ошибка, если бакет, в который нужно скопировать данные, ещё не создан:
ERROR: XXXXXXX: Failed to copy: InvalidLocationConstraint: The specified Location_constraint is not valid
В этом случае воспользуйтесь одним из вариантов:
измените конфигурацию подключения, удалив указанное значение в параметре location_constraint;
создайте бакет <имя_бакета2> самостоятельно.
Синтаксис команд rclone
Сервисный аккаунт может выполнять действия с бакетами и объектами, к которым у него есть доступ.
В командной строке rclone можно выполнить следующие команды:
Полный список команд см. в официальной документации rclone.
Изменение конфигурации существующего подключения
Чтобы изменить параметры уже созданного подключения:
Выполните команду:
Появится диалог с возможными действиями:
Введите e и нажмите Enter:
Появится список подключений:
Введите номер или имя подключения, конфигурацию которого нужно изменить, и нажмите Enter:
Настройте подключение с новыми значениями, начиная с пункта 5 раздела Настройка подключения к облачному хранилищу.