» » » Odrive Agent. Установка на Linux

Odrive Agent. Установка на Linux

Author: Tatyana dated 24-07-2016, 12:40
  • Dislike
  • 0
  • Like

Odrive - Сервис для синхронизации файлов, позволяющий работать со множеством служб (OneDrive, Box, Dropbox и ряд других сервисов) из одной точки.

Не так давно разработчики Odrive выпустили бета-версию клиента для ОС Linux. Клиент не имеет графического интерфейса и контекстного меню, но делает по сути то же самое, что и клиент для Windows.

Для установки используем консоль. В моём случае Odrive будет работать на ПК с KDE Neon, но всё это должно работать на любой линукс-системе. Приступим.
od="$HOME/.odrive-agent/bin" && curl -L "http://dl.odrive.com/odrive-py" --create-dirs -o "$od/odrive.py" && curl -L "http://dl.odrive.com/odriveagent-lnx-64" | tar -xvzf- -C "$od/" && curl -L "http://dl.odrive.com/odrivecli-lnx-64" | tar -xvzf- -C "$od/"


Если у вас по каким-то причинам 32-х разрядная ОС, то команда должна быть следующей:
od="$HOME/.odrive-agent/bin" && curl -L "http://dl.odrive.com/odrive-py" --create-dirs -o "$od/odrive.py" && curl -L "http://dl.odrive.com/odriveagent-lnx-32" | tar -xvzf- -C "$od/" && curl -L "http://dl.odrive.com/odrivecli-lnx-32" | tar -xvzf- -C "$od/" 


Тем самым мы скачали и установили бинарники в домашнюю директорию, в папку ".odrive-agent".

Запускаем сервис в отдельной сессии терминала
nohup "$HOME/.odrive-agent/bin/odriveagent">/dev/null&


Если постоянно запущенная сессия в терминале при работе с Odrive не греет, то прописываем сервис в автозапуск. Сервис будет работать в фоновом режиме.

Там, где удобно, создаём скрипт следующего содержания:
#! /bin/bash
nohup "$HOME/.odrive-agent/bin/odriveagent">/dev/null&


Поскольку в примере используется рабочий стол KDE, помещаем ссылку на созданный скрипт в /home/учётная_запись_пользователя/.config/autostart-scripts/, или используем настройки автозапуска KDE. Сервис будет запускаться автоматически каждый раз при старте пользовательской сессии.

Теперь, когда сервис работает, запускаем клиент:
"$HOME/.odrive-agent/bin/odrive" -h


Проверяем статус:
"$HOME/.odrive-agent/bin/odrive" status


Теперь нам необходима авторизация для работы со службой. Переходим на соответствующую страницу сервиса и создаём новый ключ авторизации (Auth Key). Копируем полученный ключ и используем его в следующей команде:
"$HOME/.odrive-agent/bin/odrive" authenticate 00000000-0000-0000-0000-000000000000-00000000


Заменяем ноли на свой ключ.

Снова проверяем статус. Должно получиться нечто похожее на то, что на скриншоте.

Монтируем сервис к папке в вашей файловой системе. Для этого создаём папку с любым удобным именем. Например Odrive.
mkdir "$HOME/Odrive"


Монтируем:
"$HOME/.odrive-agent/bin/odrive" mount "$HOME/Odrive" /


В домашней директории, в папке Odrive появятся ярлыки (.cloudf) подключенных к вашему аккаунту сервисов. Например, к сервису подключен OneDrive и в корне имеется одноимённая папка. Для синхронизации папки необходимо выполнить следующее:
"$HOME/.odrive-agent/bin/odrive" sync "$HOME/Odrive/OneDrive.cloudf"


Тем же способом синхронизируем другие каталоги или файлы в них. Например:
"$HOME/.odrive-agent/bin/odrive" sync "$HOME/Odrive/OneDrive/Docs/Myfile.txt.cloud"


Если нужно синхронизировать все вложенные каталоги в определённой папке, то делаем следующее:
exec 6>&1;output="go"; while [ "$output" ]; do output=$(find "$HOME/Odrive/OneDrive/Music/" -maxdepth 2 -name "*.cloudf" -exec python "$HOME/.odrive-agent/bin/odrive.py" sync "{}" \;|tee /dev/fd/6); done


Из вышеуказанной команды видно, что в /Odrive/OneDrive/Music/ у нас, по всей видимости, музыка. Музыка эта не свалена в кучу, а разложена по исполнителям, в каждой папке с исполнителем, если папки с альбомами. Поэтому -maxdepth 2. Для синхронизации всех треков в этих папках нужно выполнить следующую команду:
exec 6>&1;output="go"; while [ "$output" ]; do output=$(find "$HOME/Odrive/OneDrive/Music/" -maxdepth 3 -name "*.cloud" -exec python "$HOME/.odrive-agent/bin/odrive.py" sync "{}" \;|tee /dev/fd/6); done


Сервис, работающий в фоновом режиме, будет следить за изменениями по обе стороны. Положенный в соответствующую папку файл, будет загружен в Облако (не моментально, но будет), если в Облаке произошли изменения, вы увидите ссылки на новые файлы. Проверка статуса так же покажет изменения. Пурпурным цветом отображаются текущие процессы. Смотрите предыдущий скриншот.
___
Tatyana K.



Tags: Linux


 
  • Creative Commons Licence
  • Norton Safeweb
  • Powered by MariaDB
  • Powered by Ubuntu
  • Website Uptime Monitoring By ServiceUptime.com
  • Yandex.Metrica