Для работы с Google Drive появилась небольшая утилитка grive, которая позволяет синхронизировать данные с Linux компьютера на сервера Google. В репозитариях openSUSE еще пакет не появился, поэтому решил собрать.
Первым делом собрал json-c (почему-то пакет имеет статус disabled в репозитариях)
1 2 3 4 5 6 7 | wget http://oss.metaparadigm.com/json-c/json-c-0.9.tar.gz tar xzf json-c-0.9.tar.gz cd json-c-0.9 ./configure make sudo make install cd .. |
Далее при попытке собрать вылезла ошибка
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
IBERTY_LIBRARY
понадобилось поставить binutils (binutils-gold может лишний, перестраховался)
1 | zypper in binutils binutils-devel binutils-gold |
Теперь можно собирать grive
1 2 3 4 | git clone https://github.com/Grive/grive.git cmake CMakeLists.txt make sudo make install |
Затем понадобилось сделать симлинки библиотек (наверно это только на 64 битной системе)
1 2 3 | sudo ln -s /usr/local/lib/libgrive.so /usr/lib64/libgrive.so sudo ln -s /usr/local/lib/libgrive.so /usr/lib64/libgrive.so.0 sudo ln -s /usr/local/lib/libgrive.so /usr/lib64/libgrive.so.0.1.0 |
После чего зашел в папку, которую надо синхронизировать и запустил с опцией -a (для авторизации)
1 | /usr/local/bin/grive -a |
Скопировал предложенный URL в браузер, разрешил приложению grive соединяться с Google Drive и полученный ответный код вставил обратно в терминал. После авторизации началась синхронизация. В текущей директории создались файлы .grive и .grive_state, в которых хранится информация об авторизации и о последней синхронизации соответственно. В дальнейшем можно запускать без опций. Для синхронизации другой папки можно скопировать файл .grive в эту папку, зайти в нее и запустить grive. Обратите внимание, что все файлы с Google Drive будут скопированы к Вам на компьютер в текущую папку.
Dropbox пока удобнее, но проект grive только начал развиваться.
Еще почитать о Grive: