Rclone
Rclone — инструмент для синхронизации данных в Object Storage и на локальном компьютере. Он может использоваться для резервного копирования, работы со статическими сайтами, а также для переноса данных между разными облачными хранилищами. Существуют версии Rclone для Linux, Windows, MacOS.
Подготовка к работе
Заголовок раздела «Подготовка к работе»- Cоздайте сервисный аккаунт.
- Назначьте сервисному аккаунту роль
storage.bucket.editorили выше. - Создайте HMAC-ключ.
- Скопируйте и сохраните обе части HMAC-ключа:
Access keyиSecret key.
Настройка
Заголовок раздела «Настройка»Выполните команду:
bash rclone configОткроется следующий диалог:
No remotes found, make a new one?n) New remotes) Set configuration passwordq) Quit configВыберите
n— добавить новое хранилище. Далее укажите имя, под которым новое хранилище будет сохранено в настройках Rclone. После этого программа настройки предложит вам выбрать хранилище из списка.Выберите пункт
32 / Any other S3 compatible provider.В следующем диалоге укажите настройки для работы c Object Storage. Для параметра
AWS Access Key IDукажите в качестве значенияAccess keyиз HMAC-ключа, а для параметраAWS Secret Access Key—Secret keyиз HMAC-ключа.
Примеры команд
Заголовок раздела «Примеры команд»Просмотреть список бакетов
Заголовок раздела «Просмотреть список бакетов»rclone lsd <имя хранилища>:Получить список объектов в бакете
Заголовок раздела «Получить список объектов в бакете»rclone ls <имя хранилища>:<имя бакета>Загрузить объект в бакет
Заголовок раздела «Загрузить объект в бакет»rclone copy <путь к локальному файлу> <ключ объекта в хранилище>Синхронизация Object Storage с локальной директорией
Заголовок раздела «Синхронизация Object Storage с локальной директорией»Если вы добавляли в локальную директорию файлы или удаляли их из нее, и вам нужно внести такие же изменения в бакете в Object Storage, выполните команду:
rclone sync <путь к локальной директории> <имя хранилища>:<имя бакета>Если вы добавили новые объекты в бакет или удалили их из него, и вам нужно внести такие же изменения в локальную директорию, выполните команду:
rclone sync <имя хранилища>:<имя бакета> <путь к локальной директории>