Использование Rclone для работы с облачным хранилищем

Инструкция по настройке и использованию программы Rclone на Linux и Windows для работы с облачным хранилищем.

Что это такое?

Rclone - это программа командной строки для синхронизации файлов и каталогов с локальным компьютером и облачным хранилищем.

Установка Rclone на Linux

Для установки программы на машину с операционной системой Linux с помощью пакетного менеджера установите архиватор unzip:

apt-get update
apt-get install unzip

Скачайте и разархивируйте программу, для этого в командной строке выполните следующие команды:

curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip
unzip rclone-current-linux-amd64.zip
cd rclone-*-linux-amd64

Настройте пути и права:

sudo cp rclone /usr/bin/
sudo chown root:root /usr/bin/rclone
sudo chmod 755 /usr/bin/rclone

Установите справочную информацию:

sudo mkdir -p /usr/local/share/man/man1
sudo cp rclone.1 /usr/local/share/man/man1/
sudo mandb

Установка на Linux закончена.

Установка на Windows

Для установки программы на операционную систему Windows скачайте архив с нужной версией с сайта разработчика.

 

Rclone Download

 

Разархивируйте скачанный файл и переместите каталог в удобное для вас место. Для доступа к утилите используйте командную строку Windows.

Создание подключения к хранилищу

Важно: использование программы rclone для нашего хранилища возможно только по протоколу swift.

Для создания подключения выполните команду:

rclone config

Примечание: для Windows выполните в каталоге со скачанной программой.

Перед вами появится следующий диалог:

root@Ubuntu1604x64:~# rclone config
Current remotes:
Name                 Type
====                 ====
e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config

Выберете опцию n для создания нового соединения:

e/n/d/r/c/s/q> n

Введите удобное для вас имя:

name> swift-1

Далее выберете протокол swift для подключения:

Type of storage to configure.
Choose a number from below, or type in your own value
 1 / Amazon Drive
   \ "amazon cloud drive"
 2 / Amazon S3 (also Dreamhost, Ceph, Minio)
   \ "s3"
 3 / Backblaze B2
   \ "b2"
 4 / Box
   \ "box"
 5 / Dropbox
   \ "dropbox"
 6 / Encrypt/Decrypt a remote
   \ "crypt"
 7 / FTP Connection
   \ "ftp"
 8 / Google Cloud Storage (this is not Google Drive)
   \ "google cloud storage"
 9 / Google Drive
   \ "drive"
10 / Hubic
   \ "hubic"
11 / Local Disk
   \ "local"
12 / Microsoft Azure Blob Storage
   \ "azureblob"
13 / Microsoft OneDrive
   \ "onedrive"
14 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
   \ "swift"
15 / QingClound Object Storage
   \ "qingstor"
16 / SSH/SFTP Connection
   \ "sftp"
17 / Yandex Disk
   \ "yandex"
18 / http Connection
   \ "http"
Storage> 14

Далее укажите ручной ввод данных для входа:

Get swift credentials from environment variables in standard OpenStack form.
Choose a number from below, or type in your own value
 1 / Enter swift credentials in the next step
   \ "false"
 2 / Get swift credentials from environment vars. Leave other fields blank if using this.
   \ "true"
env_auth> 1

Введите AccessKey из панели управления:

User name to log in.
user> XX_admin

Введите Password из панели управления:

API key or password.
key> XXXXXXXX

Далее необходимо указать наш URL для аутентификации:

Authentication URL for server.
Choose a number from below, or type in your own value
 1 / Rackspace US
   \ "https://auth.api.rackspacecloud.com/v1.0"
 2 / Rackspace UK
   \ "https://lon.auth.api.rackspacecloud.com/v1.0"
 3 / Rackspace v2
   \ "https://identity.api.rackspacecloud.com/v2.0"
 4 / Memset Memstore UK
   \ "https://auth.storage.memset.com/v1.0"
 5 / Memset Memstore UK v2
   \ "https://auth.storage.memset.com/v2.0"
 6 / OVH
   \ "https://auth.cloud.ovh.net/v2.0"
auth> https://1cloud.store/v3

В качестве домена пользователя укажите Default:

User domain - optional (v3 auth)
domain> Default

Далее введите TenantId из панели управления:

Tenant name - optional for v1 auth, required otherwise
tenant> XX

В качестве домена укажите Default:

Tenant domain - optional (v3 auth)
tenant_domain> Default

Имя региона, Storage URL и версию аутентификации оставьте пустыми:

Region name - optional
region>
Storage URL - optional
storage_url>
AuthVersion - optional - set to (1,2,3) if your auth URL has no version
auth_version>

Укажите публичный тип точки:

Endpoint type to choose from the service catalogue
Choose a number from below, or type in your own value
 1 / Public (default, choose this if not sure)
   \ "public"
 2 / Internal (use internal service net)
   \ "internal"
 3 / Admin
   \ "admin"
endpoint_type> 1

Проверьте настройки:

Remote config
--------------------
[swift-1]
env_auth = false
user = XX_admin
key = XXXXXXX
auth = https://1cloud.store/v3
domain = ВDefault
tenant = 11
tenant_domain = Default
region =
storage_url =
auth_version =
endpoint_type = public
--------------------

Если все правильно выберете y, для внесения изменений e:

y) Yes this is OK
e) Edit this remote
d) Delete this remote
y/e/d> y
Current remotes:
Name                 Type
====                 ====
swift-1              swift

Выйдете из настроек подключения с помощью опции q:

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> q

Операции с Rclone

1. Вывод списка контейнеров в облачном хранилище:

rclone lsd <имя_подключения>: Например: rclone lsd swift-1:
181248 2017-12-18 16:24:16 1 new-bucket
0 2017-12-18 16:24:16 0 new-bucket-c405005b

2. Создание нового контейнера:

rclone mkdir <имя_подключения>:<имя_контейнера> Например: rclone mkdir swift-1:test-bucket

3. Просмотр файлов в контейнере:

rclone ls <имя_подключения>:<имя_контейнера> Например: rclone ls swift-1:new-bucket
181248 1.doc

4. Для создания копии файлов локальной машины в хранилище:

rclone copy <путь_до_файла> <имя_подключения>:<имя_контейнера> Например:
Создание копии целого каталога: rclone copy ./swift3 swift-1:test-bucket
Создание копии файла: rclone copy README.txt swift-1:test-bucket

5. Синхронизация файлов на локальной машине с файлами в хранилище

rclone sync <имя_подключения>:<имя_контейнера> <путь_до_каталога> Например: rclone sync documents swift:new-bucket

6. Синхронизация файлов в хранилище с файлами на локальной машине

rclone <имя_подключения>:<имя_контейнера> sync <путь_до_каталога> Например: rclone sync swift:new-bucket documents

Более подробный список команд можно найти в официальной документации.

 

Средняя оценка: 5,0, всего оценок: 1