Google Drive клиент для linux — Grive


Google Drive предоставляет пользователям 5ГБ места для хранения различной информации на серверах Google. К сожалению, Google так пока и не выпустила клиент для своего сервиса Drive под ОС GNU/Linux.

[google drive web
interface

Web интерфейс Google Drive

К счастью, есть разработчики, написавшие свои программы для синхронизации данных с Google Drive.

Рассмотрим установку и работу с Grive.

  1. Скачаем последнюю версию программы с GitHub в директорию grive.

    git clone https://github.com/Grive/grive grive
    

    Если git не установлен, то в Debian-подобной системе его можно установить вот так:

    sudo apt-get install git
    
  2. Установим все зависимости, которые можно посмотреть в файле README. Тут могут быть и лишние зависимости, но я сделал именно так.

    sudo apt-get install cmake libboost-all-dev libexpat1-dev libcurl4-openssl-dev \
    libstdc++6-4.4-dev libjson0-dev libboost-all-dev libgcrypt11-dev expat \
    libexpat1 boost-build
    
  3. Перейдём в директорию grive/build, которую создадим прежде и начнём сборку.

    mkdir grive/build
    cd grive/build
    cmake ..
    cd grive
    make
    sudo make install
    sudo ldconfig
    
  4. Теперь можно синхронизировать любую директорию с помощью команды grive.

    Например, зайдём в любую директорию, которую мы хотим синхронизировать с Google Drive и выполним команду инициализации.

    cd ~/Documents
    grive -a
    

    Вас попросят ввести API ключ, который можно получить, перейдя по ссылке, полученной из программы.

    Ну и теперь сам процесс синхронизации

    grive
    

Для полноты приведу здесь список опций Grive c переводом

grive --help
Grive options:
        -h [ --help ]         Produce help message # вывести справочное сообщение
        -v [ --version ]      Display Grive version  # показать версию Grive
        -a [ --auth ]         Request authorization token  # запросить авторизационный токен
        -p [ --path ] arg     Path to sync  # путь к директории для синхронизации
        -V [ --verbose ]      Verbose mode. Enable more messages than normal. # подробный вывод
        --log-xml             Log more HTTP responses as XML for debugging. # журналирование HTTP ответов в виде XML для отладки
        --new-rev             Create new revisions in server for updated files.  # создание новых ревизий файлов на сервере
        -d [ --debug ]        Enable debug level messages. Implies -v.  # включение сообщений отладочного уровня
        -l [ --log ] arg      Set log output filename.  # задать файл журнала
        -f [ --force ]        Force grive to always download a file from Google Drive
                        instead of uploading it.  # заставить grive всегда скачивать файл с Google Drive, вместо того, чтобы закачивать его
        --dry-run             Only detect which files need to be uploaded/downloaded,
                        without actually performing them.  # пробный запуск, отдаст на вывод файлы, которые будут загружены/скачены

Или это недоработка или задумка автора, но синхронизацию нужно выполнять вручную.

Если Вы постоянно работаете с локальной папкой, а Google Drive используете как сервер для хранения резервной копии, то почему бы не синхронизировать документы автоматически раз в какой-то промежуток времени.

Поэтому, я решил написать небольшой демон на Python, который будет отслеживать изменения в директории и запускать grive, если они, т.е. изменения обнаружены. Но об этом в другой статье.

Более подробную информацию о проекте Grive можно узнать с его Google+ страницы.

Литература: http://www.timelordz.com/blog/2012/06/google-drive-for-linux-grive/

comments powered by Disqus