Ubuntu rclone onedrive настройка

Обновлено: 03.07.2024

Для некоторых требований мне нужно смонтировать OneDrive вместо синхронизации файлов через onedrive-d. Кроме того, мне нужно решение командной строки, чтобы автоматизировать что-то в моих сценариях. Кто-нибудь может помочь в этом?

Я попытался смонтировать его из обычной команды монтирования, но не получилось. Пожалуйста, обратите внимание, я не специалист по командной строке Linux, поэтому, пожалуйста, помогите.

1. Скачайте и установите Rclone

или загрузите последний

2. Добавьте новый пульт OneDrive в Rclone

Выберите опцию New remote , введя n и нажав Enter клавишу:

Введите имя для нового пульта, здесь onedrive используется:

После нажатия Enter отображается список поддерживаемых сервисов облачного хранилища. Вам нужно выбрать опцию Microsoft OneDrive , введя соответствующий номер (прямо сейчас «16», но он может измениться в будущем):

Для следующих двух шагов нажмите, Enter не вводя никакой информации, так как нет необходимости вводить идентификатор приложения Microsoft Secret или секретный:

Выберите тип учетной записи OneDrive (введите b для бизнеса или p для личных учетных записей OneDrive):

В зависимости от настроек, вам придется ввести автоконфигурацию или руководство для следующего шага. Для пользователей настольных компьютеров введите y автоматическую настройку:

В вашем браузере по умолчанию должна открыться новая вкладка с просьбой предоставить Rclone доступ к вашей учетной записи OneDrive. Разрешите, и вы можете закрыть вкладку.

Rclone запускает веб-сервер на локальном компьютере (через порт 53682) для получения токена аутентификации. Возможно, вам придется временно разблокировать его, если вы используете брандмауэр.

Теперь вам нужно проверить, все ли правильно, и сохранить настройки, набрав y :

Выйдите из конфигурации Rclone, набрав q :

3. Создайте новую папку

4. Смонтировать OneDrive

Вы можете остановить и размонтировать его, нажав Ctrl +, c чтобы закрыть Rclone.

5. (Необязательно) Смонтируйте OneDrive при запуске системы

Чтобы подключить OneDrive при запуске, откройте «Автозагрузка приложений» и в «Автозагрузке приложений» нажмите «Добавить».

После нажатия Добавить, используйте следующее:

Существуют и другие способы автоматического монтирования OneDrive, например добавление строки в ваш компьютер /etc/fstab file , использование systemd и т. Д.

Rclone is a Go program and comes as a single binary file.

Quickstart

    the relevant binary.
  • Extract the rclone executable, rclone.exe on Windows, from the archive.
  • Run rclone config to setup. See rclone config docs for more details.
  • Optionally configure automatic execution.

See below for some expanded Linux / macOS instructions.

See the usage docs for how to use rclone, or run rclone -h .

Already installed rclone can be easily updated to the latest version using the rclone selfupdate command.

Script installation

To install rclone on Linux/macOS/BSD systems, run:

For beta installation, run:

Note that this script checks the version of rclone installed first and won't re-download if not needed.

Linux installation from precompiled binary

Fetch and unpack

Copy binary file

Run rclone config to setup. See rclone config docs for more details.

macOS installation with brew

macOS installation from precompiled binary, using curl

To avoid problems with macOS gatekeeper enforcing the binary to be signed and notarized it is enough to download with curl .

Download the latest version of rclone.

Unzip the download and cd to the extracted folder.

Move rclone to your $PATH. You will be prompted for your password.

(the mkdir command is safe to run, even if the directory already exists).

Remove the leftover files.

Run rclone config to setup. See rclone config docs for more details.

macOS installation from precompiled binary, using a web browser

When downloading a binary with a web browser, the browser will set the macOS gatekeeper quarantine attribute. Starting from Catalina, when attempting to run rclone , a pop-up will appear saying:

The simplest fix is to run

Install with docker

The rclone maintains a docker image for rclone. These images are autobuilt by docker hub from the rclone source based on a minimal Alpine linux image.

The :latest tag will always point to the latest stable release. You can use the :beta tag to get the latest build from master. You can also use version tags, e.g. :1.49.1 , :1.49 or :1 .

There are a few command line options to consider when starting an rclone Docker container from the rclone image.

You need to mount the host rclone config dir at /config/rclone into the Docker container. Due to the fact that rclone updates tokens inside its config file, and that the update process involves a file rename, you need to mount the whole host rclone config dir, not just the single host rclone config file.

You need to mount a host data dir at /data into the Docker container.

By default, the rclone binary inside a Docker container runs with UID=0 (root). As a result, all files created in a run will have UID=0. If your config and data files reside on the host with a non-root UID:GID, you need to pass these on the container start command line.

If you want to access the RC interface (either via the API or the Web UI), it is required to set the --rc-addr to :5572 in order to connect to it from outside the container. An explanation about why this is necessary is present here.

  • NOTE: Users running this container with the docker network set to host should probably set it to listen to localhost only, with 127.0.0.1:5572 as the value for --rc-addr

It is possible to use rclone mount inside a userspace Docker container, and expose the resulting fuse mount to the host. The exact docker run options to do that might vary slightly between hosts. See, e.g. the discussion in this thread.

You also need to mount the host /etc/passwd and /etc/group for fuse to work inside the container.

Here are some commands tested on an Ubuntu 18.04.3 host:

Install from source

Make sure you have at least Go go1.14 installed. Download go if necessary. The latest release is recommended. Then

This will leave you a checked out version of rclone you can modify and send pull requests with. If you use make instead of go build then the rclone build will have the correct version information in it.

You can also build the latest stable rclone with:

or the latest version (equivalent to the beta) with

These will build the binary in $(go env GOPATH)/bin (

/go/bin/rclone by default) after downloading the source to the go module cache. Note - do not use the -u flag here. This causes go to try to update the dependencies that rclone uses and sometimes these don't work with the current version of rclone.

Installation with Ansible

Portable installation

As mentioned above, rclone is single executable ( rclone , or rclone.exe on Windows) that you can download as a zip archive and extract into a location of your choosing. When executing different commands, it may create files in different locations, such as a configuration file and various temporary files. By default the locations for these are according to your operating system, e.g. configuration file in your user profile directory and temporary files in the standard temporary directory, but you can customize all of them, e.g. to make a completely self-contained, portable installation.

Run the config paths command to see the locations that rclone will use.

To override them set the corresponding options (as command-line arguments, or as environment variables):

Autostart

After installing and configuring rclone, as described above, you are ready to use rclone as an interactive command line utility. If your goal is to perform periodic operations, such as a regular sync, you will probably want to configure your rclone command in your operating system's scheduler. If you need to expose service-like features, such as remote control, GUI, serve or mount, you will often want an rclone command always running in the background, and configuring it to run in a service infrastructure may be a better option. Below are some alternatives on how to achieve this on different operating systems.

NOTE: Before setting up autorun it is highly recommended that you have tested your command manually from a Command Prompt first.

Autostart on Windows

  • Run at user log on using the Startup folder
  • Run at user log on, at system startup or at schedule using Task Scheduler
  • Run at system startup using Windows service

Running in background

Rclone is a console application, so if not starting from an existing Command Prompt, e.g. when starting rclone.exe from a shortcut, it will open a Command Prompt window. When configuring rclone to run from task scheduler and windows service you are able to set it to run hidden in background. From rclone version 1.54 you can also make it run hidden from anywhere by adding option --no-console (it may still flash briefly when the program starts). Since rclone normally writes information and any error messages to the console, you must redirect this to a file to be able to see it. Rclone has a built-in option --log-file for that.

Example command to run a sync in background:

User account

As mentioned in the mount documentation, mounted drives created as Administrator are not visible to other accounts, not even the account that was elevated as Administrator. By running the mount command as the built-in SYSTEM user account, it will create drives accessible for everyone on the system. Both scheduled task and Windows service can be used to achieve this.

NOTE: Remember that when rclone runs as the SYSTEM user, the user profile that it sees will not be yours. This means that if you normally run rclone with configuration file in the default location, to be able to use the same configuration when running as the system user you must explicitely tell rclone where to find it with the --config option, or else it will look in the system users profile path ( C:\Windows\System32\config\systemprofile ). To test your command manually from a Command Prompt, you can run it with the PsExec utility from Microsoft's Sysinternals suite, which takes option -s to execute commands as the SYSTEM user.

Start from Startup folder

To quickly execute an rclone command you can simply create a standard Windows Explorer shortcut for the complete rclone command you want to run. If you store this shortcut in the special "Startup" start-menu folder, Windows will automatically run it at login. To open this folder in Windows Explorer, enter path %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup , or C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp if you want the command to start for every user that logs in.

This is the easiest approach to autostarting of rclone, but it offers no functionality to set it to run as different user, or to set conditions or actions on certain events. Setting up a scheduled task as described below will often give you better results.

Start from Task Scheduler

Run as service

For running rclone at system startup, you can create a Windows service that executes your rclone command, as an alternative to scheduled task configured to run at startup.

Mount command built-in service integration

For mount commands, Rclone has a built-in Windows service integration via the third party WinFsp library it uses. Registering as a regular Windows service easy, as you just have to execute the built-in PowerShell command New-Service (requires administrative privileges).

Example of a PowerShell command that creates a Windows service for mounting some remote:/files as drive letter X: , for all users (service will be running as the local system account):

The WinFsp service infrastructure supports incorporating services for file system implementations, such as rclone, into its own launcher service, as kind of "child services". This has the additional advantage that it also implements a network provider that integrates into Windows standard methods for managing network drives. This is currently not officially supported by Rclone, but with WinFsp version 2019.3 B2 / v1.5B2 or later it should be possible through path rewriting as described here.

Third party service integration

To Windows service running any rclone command, the excellent third party utility NSSM, the "Non-Sucking Service Manager", can be used. It includes some advanced features such as adjusting process periority, defining process environment variables, redirect to file anything written to stdout, and customized response to different exit codes, with a GUI to configure everything from (although it can also be used from command line ).

Autostart on Linux

Start as a service

To always run rclone in background, relevant for mount commands etc, you can use systemd to set up rclone as a system or user service. Running as a system service ensures that it is run at startup even if the user it is running as has no active session. Running rclone as a user service ensures that it only starts after the configured user has logged into the system.

Run periodically from cron

To run a periodic command, such as a copy/sync, you can set up a cron job.

PR-2358

В предыдущих публикациях мы уже не раз рассказывали о полезных утилитах для работы с нашим облачным хранилищем. Сегодня мы поговорим ещё об одном интересном, простом в обращении и — не побоимся этого слова — уникальном инструменте. Знакомьтесь: rclone. Разработчики описывают его краткой и ёмкой фразой «rsync для облачных хранилищ».

Основная функция rclone — это синхронизация данных в хранилище и на локальной машине. Утилита несомненна окажется полезной для широкого круга пользователей облачного хранилища. Её можно использовать и для резервного копирования, и в работе со статическими сайтами…

Есть у rclone и опции, которых нет ни у одного другого инструмента аналогичного плана. Подробнее обо всём этом мы расскажем ниже.

Установка и первичная настройка

Несомненным плюсом и несомненным преимуществом rclone перед другими продуктами аналогичного плана является поддержка множества операционных систем: Linux, Windows, MacOS, Solaris, FreeBSD, OpenBSD, NetBSD и Plan 9.
Ссылки для скачивания пакетов для всех названных ОС можно найти на странице загрузки.

Мы будем описывать особенности работы c rclone на материале ОС Linux. Для установки нам потребуется скачать необходимый пакет, а далее выполнить:

На консоли появится такой диалог:


Выбираем n и нажимаем Enter. Далее нам нужно будет указать имя подключения к удалённому хранилищу:


Указываем любое имя (например, Selectel) и переходим к следующему пункту:

Выбираем цифру 10 (swift) и нажимаем Enter. После этого программа запросит имя пользователя и пароль:

Нашего хранилища в списке нет, поэтому укажем адрес вручную:

Два следующих пункта (tenant и region) являются факультативными, и их можно пропустить. В последнем вопросе диалога нам будет предложено ещё раз проверить все настройки:

Если всё правильно, выбираем вариант y и нажимаем Enter.

Примеры команд

Синтаксис команд для работы с хранилищем прост:

При выполнении операций копирования и синхронизации rclone проверяет все файлы по дате и времени изменения или md5-сумме. Из директории-источника в директорию назначения передаются те файлы, которые были изменены.
Подробное описывать все команды мы в этой статье не будем: обо всё можно прочитать в официальной документации. Также краткую справку можно получить с помощью команды:

Большинство функций rclone — такие же, как у других инструментов для работы с облачными хранилищами. Но есть у него одна уникальная функция, которой нет ни у одного из известных нам инструментов: перенос данных из одного облачного хранилища в другое.

Рассмотрим следующий практический пример: у нас есть папка с фотографиями на Google Docs, и её содержимое нужно перенести в наше облачное хранилище. С помощью rclone это делается очень просто. Создаём новое подключение; в списке доступных облачных хранилище выбираем Google Drive. После этого нам будет предложено указать два параметра: client_id и client_secret. В ответ на соответствующие вопросы не ничего не вводим и просто нажимаем Enter.

Далее нам будет задан следующий вопрос:

Выбираем ответ «нет» (n). Rclone сгенерирует ссылку для получения кода:

Откроем эту ссылку в браузере и дадим rclone разрешение на доступ к файлам.

После этого API Google Drive вернёт код, который нужно будет вставить в ответ на вопрос:


Вот и всё. Подключение к Google Drive настроено, и можно приступать к копированию:

С задачей копирования файлов rclone справляется достаточно быстро: мы скопировали папку с фотографиями объёмом 1,8 ГБ за 1 минуту 55 секунд.

В ходе экспериментов мы также выяснили, что rclone без проблем копирует и текстовые документы GoogleDocs, преобразуя их в формат docx.

Загрузка объектов большого размера

Проверим скорость работы rclone ещё на одном тесте: попытаемся загрузить в хранилище объект большого размера — более 20 ГБ. Файлы до 20 ГБ загружаются в хранилище при помощи стандартных команд. Процедура загрузки файлов большего размера проходит по-другому: файл делится на сегменты, которые загружаются в отдельный контейнер.

Rclone по умолчанию делит такие файлы на сегменты размером по 5ГБ каждый. В случае необходимости размер сегмента можно изменить с помощью опции -swift-chunk-size. Мы попробовали загрузить в хранилище файл размером 25 ГБ. Rclone справился с этой задачей за 11 минут 14 секунд. Результат, как видим, вполне неплохой.

Заключение

Rclone — вполне интересный и перспективный инструмент, который вполне можно рекомендовать к использованию. Если вам кажется, что мы о чём-то забыли рассказать, сообщите нам об этом, и мы обязательно расширим наш обзор.

А если вы уже знакомы с rclone — делитесь опытом в комментариях.
Если вы по тем или иным причинам не можете оставлять комментарии здесь — добро пожаловать в наш блог .

PR-2358

В предыдущих публикациях мы уже не раз рассказывали о полезных утилитах для работы с нашим облачным хранилищем. Сегодня мы поговорим ещё об одном интересном, простом в обращении и — не побоимся этого слова — уникальном инструменте. Знакомьтесь: rclone. Разработчики описывают его краткой и ёмкой фразой «rsync для облачных хранилищ».

Основная функция rclone — это синхронизация данных в хранилище и на локальной машине. Утилита несомненна окажется полезной для широкого круга пользователей облачного хранилища. Её можно использовать и для резервного копирования, и в работе со статическими сайтами…

Есть у rclone и опции, которых нет ни у одного другого инструмента аналогичного плана. Подробнее обо всём этом мы расскажем ниже.

Установка и первичная настройка

Несомненным плюсом и несомненным преимуществом rclone перед другими продуктами аналогичного плана является поддержка множества операционных систем: Linux, Windows, MacOS, Solaris, FreeBSD, OpenBSD, NetBSD и Plan 9.
Ссылки для скачивания пакетов для всех названных ОС можно найти на странице загрузки.

Мы будем описывать особенности работы c rclone на материале ОС Linux. Для установки нам потребуется скачать необходимый пакет, а далее выполнить:

На консоли появится такой диалог:


Выбираем n и нажимаем Enter. Далее нам нужно будет указать имя подключения к удалённому хранилищу:


Указываем любое имя (например, Selectel) и переходим к следующему пункту:

Выбираем цифру 10 (swift) и нажимаем Enter. После этого программа запросит имя пользователя и пароль:

Нашего хранилища в списке нет, поэтому укажем адрес вручную:

Два следующих пункта (tenant и region) являются факультативными, и их можно пропустить. В последнем вопросе диалога нам будет предложено ещё раз проверить все настройки:

Если всё правильно, выбираем вариант y и нажимаем Enter.

Примеры команд

Синтаксис команд для работы с хранилищем прост:

При выполнении операций копирования и синхронизации rclone проверяет все файлы по дате и времени изменения или md5-сумме. Из директории-источника в директорию назначения передаются те файлы, которые были изменены.
Подробное описывать все команды мы в этой статье не будем: обо всё можно прочитать в официальной документации. Также краткую справку можно получить с помощью команды:

Большинство функций rclone — такие же, как у других инструментов для работы с облачными хранилищами. Но есть у него одна уникальная функция, которой нет ни у одного из известных нам инструментов: перенос данных из одного облачного хранилища в другое.

Рассмотрим следующий практический пример: у нас есть папка с фотографиями на Google Docs, и её содержимое нужно перенести в наше облачное хранилище. С помощью rclone это делается очень просто. Создаём новое подключение; в списке доступных облачных хранилище выбираем Google Drive. После этого нам будет предложено указать два параметра: client_id и client_secret. В ответ на соответствующие вопросы не ничего не вводим и просто нажимаем Enter.

Далее нам будет задан следующий вопрос:

Выбираем ответ «нет» (n). Rclone сгенерирует ссылку для получения кода:

Откроем эту ссылку в браузере и дадим rclone разрешение на доступ к файлам.

После этого API Google Drive вернёт код, который нужно будет вставить в ответ на вопрос:


Вот и всё. Подключение к Google Drive настроено, и можно приступать к копированию:

С задачей копирования файлов rclone справляется достаточно быстро: мы скопировали папку с фотографиями объёмом 1,8 ГБ за 1 минуту 55 секунд.

В ходе экспериментов мы также выяснили, что rclone без проблем копирует и текстовые документы GoogleDocs, преобразуя их в формат docx.

Загрузка объектов большого размера

Проверим скорость работы rclone ещё на одном тесте: попытаемся загрузить в хранилище объект большого размера — более 20 ГБ. Файлы до 20 ГБ загружаются в хранилище при помощи стандартных команд. Процедура загрузки файлов большего размера проходит по-другому: файл делится на сегменты, которые загружаются в отдельный контейнер.

Rclone по умолчанию делит такие файлы на сегменты размером по 5ГБ каждый. В случае необходимости размер сегмента можно изменить с помощью опции -swift-chunk-size. Мы попробовали загрузить в хранилище файл размером 25 ГБ. Rclone справился с этой задачей за 11 минут 14 секунд. Результат, как видим, вполне неплохой.

Заключение

Rclone — вполне интересный и перспективный инструмент, который вполне можно рекомендовать к использованию. Если вам кажется, что мы о чём-то забыли рассказать, сообщите нам об этом, и мы обязательно расширим наш обзор.

А если вы уже знакомы с rclone — делитесь опытом в комментариях.
Если вы по тем или иным причинам не можете оставлять комментарии здесь — добро пожаловать в наш блог .

Читайте также: