gdrive

gdrive

d.kireev

У некоторых исследователей возникает потребность время от времени скачивать что-либо с google-диска на сервера. Причем размер этих файлов может быть достаточно большим, хотелось бы запускать выкачивание в фоне (надавно выкачивал датасет размером более 1Tb). Я как-то научился это делать с помощью запуска chrome прямо на сервере, с тех пор ко мне довольно часто обращались с просьбой помочь со скачиванием, что говорит об актуальности задачи. Но недавно у меня сломались X-ы, пока чинил, нашел способ сделать всё сильно проще. Дальше будет небольшой гайд.


Для этого нужно установить приложение gdrive, что можно сделать одной командой:

GOPATH=/media3/d.kireev/gdrive PATH=/media2/d.kireev/usr/local/go-1.12.6/bin:$PATH go get github.com/prasmussen/gdrive

Здесь и далее заменяйте 

/media3/d.kireev/gdrive

на путь до директории, куда хотите установить приложение.

После успешного выполнения команды у вас появится приложение gdrive по пути /media3/d.kireev/gdrive/bin/gdrive (можно добавить в .bashrc строчку export PATH=/media3/d.kireev/gdrive/bin:$PATH, чтобы не писать полный путь до него каждый раз).


Теперь о том, как использовать:

Получаем ссылку на файл (см. скриншот) вида: 

https://drive.google.com/open?id=1vsRjICTk9WSfDvQbIjwGareok1Sluv_z

Нам нужна та часть, что стоит после 

?id=

, в этом примере: 

1vsRjICTk9WSfDvQbIjwGareok1Sluv_z

Переходим в директорию, куда хотим выкачать файл и прописываем команду:

/media3/d.kireev/gdrive/bin/gdrive download 1vsRjICTk9WSfDvQbIjwGareok1Sluv_z

В первый раз приложение попросит вас авторизоваться: перейти по ссылке, которая появится в терминале; авторизовать приложение; скопировать появившийся токен в терминал.

После этого начнется скачивание файла.


Если хотите скачать целую директорию, то надо добавить флаг 

--recursive

 при вводе команды 

gdrive download

Вообще, у них неплохой хелп, в котором можно найти способ залить файлы с сервера на google-диск и остальной функционал.


Ну вот пожалуй и всё, надеюсь, что кому-нибудь да пригодится 😊


Report Page