Синхронизация с OneDrive в Ubuntu

()

Облачное хранилище OneDrive достаточно получило широкое распространение благодаря глубокой интеграции с Microsoft Windows, Microsoft Office и другими продуктами Microsoft. Официального клиента OneDrive для Linux не существует, однако вот уже три года на GitHub существует проект пользователя skilion под названием «onedrive», в рамках которого развивается свободный клиент OneDrive.

На текущий момент проект всё ещё содержит ряд ограничений, но уже дорос до возможности практического применения. Об использование OneDrive в Ubuntu 18.04 и пойдёт речь далее.

Ubuntu + OneDrive = Like!

Пакет onedrive есть в стандартном репозитории Ubuntu, однако там находится версия от сентбря 2017-го года, в то время как с тех пор как минимум исправлен ряд ошибок. Поэтому ставить мы будем версию из git. Для начала установим необходимые для сборки пакеты:

sudo apt-get install ldc libcurl4-openssl-dev libsqlite3-dev

Далее склонируем репозиторий с исходным кодом:

git clone https://github.com/skilion/onedrive.git

Скомпилируем исходный код и установим в директорию «/opt/onedrive»:

cd onedrive
make PREFIX=/opt/onedrive DC=ldc2
sudo make PREFIX=/opt/onedrive install

Создадим директорию, которую мы будем синхронизировать с облачным хранилищем:

mkdir -p ~/OneDrive

Создадим файл конфигурации, в котором укажем директорию, которую будем синхронизировать:

mkdir -p ~/.config/onedrive
echo sync_dir = "\"${HOME}/OneDrive\"" > ~/.config/onedrive/config

Далее нам нужно получить данные для авторизации нашего сервиса. Для этого запустим его командой:

/opt/onedrive/bin/onedrive

Он отобразит ссылку, которую надо скопировать и вставить в адресную строку браузера. После перехода по ней в браузере необходимо подтвердить доступ сервиса к аккаунту.

OneDrive - запрос доступа для приложения

После подтверждения доступа будет открыта белая страница. Надо будет скопировать её адрес из адресной строки и вставить его в ответ на запрос сервиса. После этого сервис скачает всё содержимое вашего облачного хранилища.

Время скачивания зависит от объёма данных и скорости вашего соединения. Поэтому если у вас там находится большой объём данных то лучше позаботиться о скорости соединения хотя бы на время первичной настройки.

По умолчанию onedrive запускается, синхронизирует изменения и завершается. Такой режим удобен если у вас не так много изменений или наоборот не хочется тратить трафик на постоянные изменения и просто синхронизировать результат работы с облаком в конце дня.

Если есть необходимость в постоянной синхронизации то следует запускать onedrive в режиме мониторинга (ключ командной строки: -m). Для удобства запуска в этом режиме поставляется юнит systemd. Чтобы включить автозапуск от имени текущего пользователя (при входе в систему) и запустить сервис необходимо выполнить команды:

systemctl --user enable onedrive
systemctl --user start onedrive

Чтобы посмотреть лог работы сервиса можно использовать команду:

journalctl --user-unit onedrive -xe

При использовании сервиса стоит помнить про ограничения, накладываемые сервисом на имена файлов. По сути они аналогичны ограничениям в Microsoft Windows: имена регистронезависимые и набор допустимых спецсимволов очень ограничен.

На этом всё. Приятной работы!

Ключевые слова: ubuntu, onedrive, systemd.

Подписаться на обновления: RSS-лента Telegram канал Twitter

Комментарии:

Anonymous 2018-07-18 15:26:07 (#)

Почему выбран именно такой продукт?
Исторически так сложилось или только глубина интеграции с другими продуктами мс?

MooSE 2018-07-19 11:24:23 (#)

Учитывая ограничения на имена файлов штука весьма спорная. Но вот закидывать туда архивы с бэкапами - весьма удобно:)

Anonymous 2018-07-19 12:59:52 (#)

Эм, а что не так с бекапами в тотже ядиск, дропбокс и прочие?

MooSE 2018-07-19 17:27:46 (#)

Эм, а что не так с бекапами в тотже ядиск, дропбокс и прочие?
Я где-то сказал что что-то не так? Выбор облачного хранилища это личное дело каждого. Вот у меня есть учётная запись Microsoft, без которой на Windows 10 многие функции не доступны, так я и пользуюсь OneDrive.

Anonymous 2018-09-05 22:42:05 (#)

Ваще капец! И нафига перекачивать содержимое облака на жоский дыск? Проще через браузер зайти и взять или бросить то что нужно.

MooSE 2018-09-06 10:10:46 (#)

И нафига перекачивать содержимое облака на жоский дыск?
1. Нафига сознательно писать неграмотно?
2. Что с оффлайновым доступом к данным? Интернет есть не везде и не всегда.

Anonymous 2018-09-24 12:37:28 (#)

Огромное спасибо! На других сайтах лабуда какая-то, кривые команды и т.д и т.п. Здесь же всё четко, понятно, без воды. Установил в две минуты. По поводу - "нафигоблакожёскийдиск", во первых: места много не бывает, во вторых: очень удобно на нём хранить небольшие, но важные файлы, к которым требуется постоянный доступ, у меня в смарте доступ к OneDrive, Google и Яндекс диску, в файловом менеджере. Очень удобно, на гугле и яше хранятся фото, архивы, проги, музыка, видео и т.п., а на OneDrive документы, пароли, сканы.
Новый комментарий

Жирный текстКурсивный текстПодчёркнутый текстЗачёркнутый текстПрограммный кодСсылкаИзображение




© 2006-2018 Вадим Калинников aka MooSE