Google Drive: подключение на Linux Debian 9 с insync-headless

Автор: | 23/04/2020
 

Хочется подключить Google Drive с библиотекой к серверу, что бы запустить Calibre Web, т.к. Nextcloud при больших объёмах совершенно нестабилен, а книг порядка 5 гигабайт (см. Calibre: домашняя онлайн-библиотека в браузере и Moon+ Reader).

После долгого выбора клентов – остановился на Insync (15 дней триала, 30 уе стоимость лицензии на одного юзера).

Новую версию можно легко установить из репозитория – но она не поддерживает CLI.

Для установки – добавляем ключ:

[simterm]

root@rtfm-do-production:/opt# apt-key adv --keyserver keyserver.ubuntu.com --recv-keys ACCAF35C
Executing: /tmp/apt-key-gpghome.mCNEtjtItQ/gpg.1.sh --keyserver keyserver.ubuntu.com --recv-keys ACCAF35C
gpg: key A684470CACCAF35C: 1 signature not checked due to a missing key
gpg: key A684470CACCAF35C: public key "Insynchq Inc <[email protected]>" imported
gpg: Total number processed: 1
gpg:               imported: 1

[/simterm]

Создаём /etc/apt/sources.list.d/insync.list:

deb http://apt.insync.io/debian stretch non-free contrib

И устанавливаем:

[simterm]

root@rtfm-do-production:/opt# apt update && apt -y install insync

[/simterm]

insync-headless

А вот insync-headless, который, собственно, и предоставляет CLI, разработывать перестали, вернее в новой версии выпилили поддержку CLI – см. (LINUX) Headless and CLI community support.

Тем не менее – всё ещё можно установить старую версию.

Загружаем инсталятор:

[simterm]

root@rtfm-do-production:/tmp# wget https://d2t3ff60b2tol4.cloudfront.net/builds/insync-headless_1.5.7.37371-wheezy_amd64.deb

[/simterm]

Устанавливаем:

[simterm]

root@rtfm-do-production:/tmp# dpkg -i insync-headless_1.5.7.37371-wheezy_amd64.deb

[/simterm]

Запускаем его:

[simterm]

root@rtfm-do-production:/tmp# insync-headless start

[/simterm]

В браузере открываем страницу https://insynchq.com/auth – логинимся со своим Google-аккаунтом, и получаем код:

Подключаем аккаунт:

[simterm]

root@rtfm-do-production:/tmp# insync-headless add_account -a 4/z***MIA

[/simterm]

Синхронизация запускается сразу после добавления аккаунта:

[simterm]

root@rtfm-do-production:/tmp# ls -l /root/[email protected]/
total 1928
-rw-r--r--   1 root root     210 Jun  4  2019 Apartments.gdsheet
-rw-r--r--   1 root root     171 Oct  1  2015 Blank Flowchart.gdlink
drwxr-xr-x 113 root root    4096 Apr 23 16:07 CALIBRE
drwxr-xr-x 309 root root   16384 Apr 23 16:07 CloudCalibre
-rw-r--r--   1 root root     206 May 23  2016 DEGREE_Word.gddoc
...

[/simterm]

Проверить статус можно:

[simterm]

root@rtfm-do-production:/tmp# insync-headless get_sync_progress
Downloading
Jenkins_ The Definitive Guide - John Ferguson Smart.pdf (0% of 24.6 MB)
The Docker Book - James Turnbull.pdf (0% of 5.6 MB)
Utro novoi ery - Aleksei Doronin.fb2 (0% of 1.2 MB)
metadata.opf (0% of 3.3 KB)
1060 files queued

[/simterm]

@ и имя каталога

Но есть нюанс – так как имя каталога содержит @ – то, например, Calibre Web не хочет принимать его как путь к данным.

Лепим костыль – создаём симлинк:

[simterm]

root@rtfm-do-production:/tmp# ln -s /root/[email protected]/CloudCalibre/ /opt/calibre/books

[/simterm]

Проверяем:

[simterm]

root@rtfm-do-production:/tmp# ll /opt/calibre/books/ | head -5
total 2776
drwxr-xr-x  3 root root    4096 Apr 23 16:05 A. A. Orlov
drwxr-xr-x  9 root root    4096 Apr 23 16:06 A. Avramienko
drwxr-xr-x  3 root root    4096 Apr 23 16:06 A. Bielash
drwxr-xr-x  3 root root    4096 Apr 23 16:06 A. B_iuli

[/simterm]

Больше команд и документация – тут>>>.