[Entware] rclone - работаем с облачными хранилищами

Используем пакеты, расширяющие возможности оборудования
Аватара пользователя
Zyxmon
Администратор
Сообщения: 1147
Зарегистрирован: 09 авг 2015, 14:33

Сообщение Zyxmon » 30 май 2016, 14:06

rclone это кроссплатформенная утилита для работы с облачными хранилищами. Поддерживаются -
Google Drive
Amazon S3
Openstack Swift / Rackspace cloud files / Memset Memstore
Dropbox
Google Cloud Storage
Amazon Cloud Drive
Microsoft One Drive
Hubic
Backblaze B2
Yandex Disk
The local filesystem

Домашняя страница - http://rclone.org/

Утилита написана на GO и потребляет довольно много ресурсов (RAM,CPU). При использовании на слабом mipsel роутере необходимо включить swap. На НАСах работает резвее.
Установка стандартная

Код: Выделить всё

opkg install rclone

Сконфигурируем rclone для работы с яндекс диском. Запустим с параметром config: `rclone config`, выберем "n) New remote", введем произвольное имя (yasha), потом "11 Yandex Disk". Не вводим ID и Secret. Дальше самое интересное - как ответить на вопрос "Use auto config?". Ситхи могут ответить No. Тогда им потребуется установить и настроить rclone на компе и скопировать конфигурацию на роутер (в /opt/etc). Настоящие Джедаи постоянно улучшают себя через знания и тренировки. Они пробросят туннель через ssh:
putty2.jpg

После этого на компе вводим url http://127.0.0.1:538/auth (тут 538 указанный выше порт), авторизуемся на яндексе, разрешаем rclone доступ. В самом конце Вас выбросит на страницу, которую браузер отобразить не сможет. Скопируем URL этой страницы в буфер обмена. Он вида

Код: Выделить всё

http://127.0.0.1:53682/?state=XYZ1234567&code=311111

Откроем еще одно окно putty. Установим lynx (opkg install lynx), запустим lynx, нажмем клавишу G и введем наш URL. Должны получить:
succ.png

Можем выйти из lynx (Q) и закрыть это окно putty. Возвращаемся к к запущенному rclone и видим, что он распознал регистрацию. Говорим, что все ОК и выходим из конфигуратора. Вот лог настройки

Код: Выделить всё

[~] # rclone config
2016/05/30 13:06:01 Failed to load config file "/opt/etc/rclone.conf" - using defaults: open /opt/etc/rclone.conf: no such file or directory
No remotes found - make a new one
n) New remote
s) Set configuration password
n/s> n
name> yasha
Type of storage to configure.
Choose a number from below, or type in your own value
 1 / Amazon Cloud Drive
   \ "amazon cloud drive"
 2 / Amazon S3 (also Dreamhost, Ceph)
   \ "s3"
 3 / Backblaze B2
   \ "b2"
 4 / Dropbox
   \ "dropbox"
 5 / Google Cloud Storage (this is not Google Drive)
   \ "google cloud storage"
 6 / Google Drive
   \ "drive"
 7 / Hubic
   \ "hubic"
 8 / Local Disk
   \ "local"
 9 / Microsoft OneDrive
   \ "onedrive"
10 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
   \ "swift"
11 / Yandex Disk
   \ "yandex"
Storage> 11
Yandex Client Id - leave blank normally.
client_id>
Yandex Client Secret - leave blank normally.
client_secret>
Remote config
Use auto config?
 * Say Y if not sure
 * Say N if you are working on a remote or headless machine
y) Yes
n) No
y/n> y
If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
Log in and authorize rclone for access
Waiting for code...
Got code
--------------------
[yasha]
client_id =
client_secret =
token = {"access_token":"AQFcz2EAAtLC80XXX-QUKHm2mdgAYYY","token_type":"bearer","expiry":"2017-05-30T13:12:56.323567+03:00"}
--------------------
y) Yes this is OK
e) Edit this remote
d) Delete this remote
y/e/d> y
Current remotes:

Name                 Type
====                 ====
yasha                yandex

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

Облачное хранилище на Яндексе, я назвал yasha. Работа с яшей теперь простая. Ниже показано, как получить список папок, список файлов в папке и скопировать файлы из облака. На облако файлы копируются той же командой, только нужно сначала указать локальную папку, потом облако. Лог работы:

Код: Выделить всё

[~] # rclone lsd yasha:
           0 2014-12-14 06:22:02        -1 Backups
           0 2014-02-18 08:14:00        -1 Entware-shared
           0 2014-09-23 07:31:32        -1 FUPM
           0 2012-04-26 11:07:11        -1 Music
           0 2012-05-03 07:16:38        -1 Private
           0 2012-04-27 06:43:39        -1 Public
           0 2016-02-09 21:09:37        -1 Zdanova
           0 2014-03-15 16:18:39        -1 Скриншоты

Transferred:            0 Bytes (   0.00 kByte/s)
Errors:                 0
Checks:                 0
Transferred:            0
Elapsed time:        2.5s


[~] # rclone ls yasha:/Public/test
   586125 Acmon03.zip
      106 mnt.txt

Transferred:            0 Bytes (   0.00 kByte/s)
Errors:                 0
Checks:                 0
Transferred:            0
Elapsed time:       28.3s

[~] # rclone copy yasha:/Public/test ./yasha
2016/05/30 13:24:32 Local file system at /root/yasha: Building file list
2016/05/30 13:24:59 Local file system at /root/yasha: Waiting for checks to finish
2016/05/30 13:24:59 Local file system at /root/yasha: Waiting for transfers to finish

Transferred:       586231 Bytes (  18.96 kByte/s)
Errors:                 0
Checks:                 0
Transferred:            2
Elapsed time:       30.1s

Если нужно, можем добавить в конфиг другое облако. Вот добавление Гоши (google drive):

Код: Выделить всё

[~] # rclone config
Current remotes:

Name                 Type
====                 ====
yasha                yandex

e) Edit existing remote
n) New remote
d) Delete remote
s) Set configuration password
q) Quit config
e/n/d/s/q> n
name> gosha
Type of storage to configure.
Choose a number from below, or type in your own value
 1 / Amazon Cloud Drive
   \ "amazon cloud drive"
 2 / Amazon S3 (also Dreamhost, Ceph)
   \ "s3"
 3 / Backblaze B2
   \ "b2"
 4 / Dropbox
   \ "dropbox"
 5 / Google Cloud Storage (this is not Google Drive)
   \ "google cloud storage"
 6 / Google Drive
   \ "drive"
 7 / Hubic
   \ "hubic"
 8 / Local Disk
   \ "local"
 9 / Microsoft OneDrive
   \ "onedrive"
10 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
   \ "swift"
11 / Yandex Disk
   \ "yandex"
Storage> 6

Дальше все аналогично яндексу. Для некоторых облачных хранилищ rclone спросит у Вас логин и пароль и зарегистрирует Вас без использования браузера.
rclone позволяет синхронизировать между собой и два облачных хранилища. Отметим тут, что синхронизация всегда проводится в одну сторону.
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Вернуться в «Entware/Qnapware/Optware/Zyxware - обсуждаем репозитории пакетов»

Кто сейчас на конференции

Всего 0 посетителей :: 0 зарегистрированных, 0 скрытых и 0 гостей (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (121) здесь было 18 май 2016, 18:19

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей