Как синхронизировать OneDrive Business / Office 365 в Linux?
24
Microsoft OneDrive Business / Office 365 Pro предлагает облачное хранилище объемом 1 ТБ, но, к сожалению, в Linux никогда не было способа его синхронизации.
Добро пожаловать в Спросите Ubuntu ! Мы сайт вопросов и ответов, а не форум. В настоящее время у вас есть вопрос и ответ в указанном разделе вопросов. Пожалуйста, отредактируйте свое сообщение, чтобы удалить ответ, и опубликуйте его в разделе ответов ниже (в нижней части страницы должна быть кнопка). Благодарность!
В настоящее время экспериментальная версия onedrive-d является программой с открытым исходным кодом, которая может синхронизировать только личные учетные записи OneDrive, поскольку она не принимает ссылки Microsoft Sharepoint. Вот метод синхронизации OneDrive Business / Office 365 с использованием GoodSync для Linux , который является бесплатным для личного использования.
Установите подходящую версию на ваш компьютер Linux, например:
./goodsync-linux-x86_64-release.run
Ответа на этот вопрос п О как для установки GoodSync Connect и GsServer Web UI.
Откройте OneDrive в веб-браузере. выберите «Вернуться к классическому OneDrive» в правой нижней части.
Веб-адрес в вашем браузере теперь будет выглядеть так:
https://xxxxxxx.sharepoint.com/xxxxxxxxxxx/Documents/Forms/All.aspxи на основе этого получите вашу ссылку для синхронизации, которая будет office365://xxxxxxx.sharepoint.com/xxxxxxxxxxx/Documents.
Создайте новый файл в подпапке .goodsync у себя дома:
gedit ~/.goodsync/jobs.tix
Введите следующий код в файл и сохраните его:
<Job>
Name = "OneDrive_Sync"
Side1 = <SideOptions>
Dir = <Connect>
Url = "put_your_syncing_link_here"
UserID = "put_your_OneDrive/Office365_Bussiness_email_here"
</Connect>
</SideOptions>
Side2 = <SideOptions>
Dir = <Connect>
Url = "file:///your_home_folder/one_drive_folder"
</Connect>
</SideOptions>
Direction = 0
ExcludeHidden = No
ExcludeSystem = No
DetectMovesAndRenames = Yes
LinksOption = 1
ExcludeEmptyFolders = No
LimitChangesPercent = 100
AutoResolveConflicts = 3
DetectMovesAndRenames = Yes
</Job>
Запустите процесс синхронизации:
gsync sync "OneDrive_Sync"
На этом этапе ваш веб-браузер откроет страницу OneDrive / Office 365 и запросит у вас авторизацию, чтобы позволить goodsync получить доступ к вашей учетной записи. После ввода ваших учетных данных начнется синхронизация.
Ограничения: Microsoft не разрешает URL-запросы длиной более 270 символов, поэтому GoodSync НЕ МОЖЕТ синхронизировать файлы с длинными путями.
Мой веб-браузер не открывает страницу авторизации на шаге 7. Есть идеи, как это сделать вручную?
Пат-S
3
Мой веб-браузер также не открыт для входа
Haha TTpro
2
Файловая система в office365: /.../ Документы заменены новым API OneDrive V2. Нажмите кнопку «Обзор», чтобы повторно просмотреть папку синхронизации OneDrive, поскольку New OneDrive требует аутентификации на основе браузера (OAuth2)
Ferroao,
6
Ubuntu 18.04 и позже
В репозиториях Ubuntu по умолчанию в Ubuntu 18.04 и более поздних версиях есть клиент OneDrive. OneDrive - это облачная система хранения данных Microsoft. Этот пакет предоставляет клиент командной строки, специализирующийся на синхронизации с облачным хранилищем OneDrive.
Установите его с помощью:
sudo apt install onedrive
При первом запуске он просит вас пройти аутентификацию по ссылке. После аутентификации вы можете включить демона с помощью systemctl --user enable onedriveи затем systemctl --user start onedrive. Дальнейшие объяснения можно найти на странице руководства man onedrive. Он очень прост в настройке и занимает всего около пяти минут.
Хотя оригинальный и широко используемый onedrivedинструмент от Xybu по-прежнему не поддерживает OneDrive для бизнеса, а только личные OneDrives. тем не менее, есть derk этого проекта на GitHub от derrix060, который имеет как-то работающую (но все еще ошибочную) реализацию для бизнес-клиента.
Предупреждение: при использовании этого метода я настоятельно рекомендую всегда проверять правильность синхронизации файлов, проверяя их в Интернете по адресу https://www.office.com , и / или использовать мой скрипт-обертку, показанный в конце этой страницы. по крайней мере получать информацию о любых ошибках, используя уведомления на рабочем столе!
Иногда onedrived, похоже, не может получить некоторые изменения или загрузить их правильно, оставляя OneDrive в (частично) несинхронизированном состоянии. Также может случиться так, что он по какой-то причине генерирует конфликты слияния с самим собой и переименовывает ваши файлы локально, добавляя имя вашего хоста в скобках и, возможно, число. К сожалению, нет сообщений об ошибках, но вы можете увидеть записи в вашем лог-файле.
Если это произойдет, вы можете попытаться снова синхронизировать соответствующие файлы, например, прикоснувшись к ним или переименовав их или папку, в которой они находятся.
Совет. Кажется, что у библиотеки onedrived часто возникают проблемы, особенно с файлами, которые были сохранены непосредственно в корне OneDrive. Вероятно, лучше поместить все файлы в подкаталоги, а не выгружать их непосредственно в папку OneDrive.
Хотя это звучит глупо, я также заметил, что, по-видимому, меньше проблем с загрузкой файлов через веб-клиент OneDrive и ожиданием их синхронизации в локальной папке (хотя это может занять несколько минут), чем их создание или копирование / перемещение. на местном уровне. Является ли это практичным или полностью аннулирует цель OneDrive зависит от вашего собственного решения ...
См. Файл readme проекта для полных инструкций по установке, но вот краткое резюме:
Установка
Убедитесь, что у вас не установлена другая версия onedrived(или onedrive-d).
Загрузите последний ngrokклиент для Linux с официального сайта https://ngrok.com/download . ngrok-clientПакет из репозиториев Ubuntu слишком стар и не отвечает требованиям.
Распакуйте скачанный ngrok-stable-linux-amd64.zipархив. Он содержит один ngrokдвоичный файл, который вы должны поместить в папку $PATH, например, в /usr/local/bin/.
Регистрация в ngrok, вероятно, не требуется.
Установите onedrivedприложение Python3 из GitHub, используя pip3:
При желании настройте местоположение файла журнала onedrived, где вы можете проверить наличие проблем, если что-то не работает должным образом, например
onedrived-pref config set logfile_path ~/.config/onedrived/onedrived.log
Настройка учетной записи и настройка диска
После того, как установка прошла успешно, вы должны настроить свою учетную запись и диск (и):
Добавьте свою учетную запись OneDrive для бизнеса, используя интерактивный режим, выполнив:
onedrived-pref account add -b
Интерактивный мастер дважды попросит вас открыть ссылку в вашем браузере, где вам нужно будет авторизовать приложение с вашей учетной записью Microsoft Business.
Он попросит вас вставить URL, на который вы перенаправлены после подтверждения авторизации, обратно в интерактивный мастер. Пожалуйста, следуйте инструкциям, которые дает команда.
Убедитесь, что учетная запись была успешно добавлена, проверив вывод команды ниже. Он должен выглядеть примерно так и перечислить учетную запись, в которую вы вошли:
$ onedrived-pref account list
All OneDrive accounts associated with user "YOUR_UBUNTU_USERNAME":
# Account ID Owner Name Email Address Profile Type
--- ------------------------- ------------- -------------------- --------------
0 YOUR_PERSONAL_ACCOUNT_ID YOUR_NAME YOUR_BUSINESS_EMAIL Business
Настройте ваши диски в интерактивном командном режиме, выполнив:
onedrived-pref drive set
Вы увидите список всех ваших дисков и получите запрос на ввод номера строки диска, который вы хотите добавить в локальную конфигурацию.
Затем вам нужно указать локальный каталог, который вы хотите использовать в качестве корневой папки для синхронизации с вашим диском. Вы можете просто нажать, Enterи он будет использовать по умолчанию ~/OneDrive. Если путь не существует, он будет создан. То же самое для пути к файлу игнорирования, который вы хотите использовать, вы можете просто нажать, Enterи он будет использовать значение по умолчанию ~/.config/onedrived/ignore_v2.txtи создаст его, если это необходимо.
Проверьте вывод команды ниже, чтобы отобразить информацию обо всех доступных и настроенных дисках. Он должен показывать только что настроенный диск с правильными настройками под заголовком Drives that have been set up:
onedrived-pref drive list
Запуск демона
Теперь, когда ваш диск настроен, вам нужно попробовать запустить onedrivedдемона. Я рекомендую сначала запустить его в режиме отладки, если есть какие-либо проблемы, которые вы могли бы пропустить. Это начнется onedrivedна переднем плане:
onedrived start --debug
Если все в порядке и команда не вылетает и не завершается, попробуйте поместить некоторые файлы в локальную папку OneDrive и посмотреть, синхронизируется ли она. Вероятно, вы сможете проверить это, посетив веб-приложение OneDrive по адресу https://www.office.com и проверив, появляются ли там файлы, добавленные вами локально.
Вы можете выйти из onedrivedпроцесса в вашем терминале снова, нажав Ctrl+ C.
Для onedrivedнормального запуска в качестве фонового демона запустите его с:
Если вы хотите получать уведомления на рабочем столе всякий раз, когда onedrivedрегистрируется ошибка (например, ошибка синхронизации файла), вот скрипт-обертка, который анализирует файл журнала в режиме реального времени и использует notify-send для их отображения вам.
Вы можете запустить скрипт-обертку без аргументов (или поместить его в свои автозапускаемые приложения) вместо onedrived startкоманды.
Я все еще получаю сообщение "Не удалось авторизовать onedrived: взаимодействия_required." после того, как я введу вторую ссылку для аутентификации учетной записи ODfB. Есть идеи, почему это может произойти?
Джимакос
@Jimakos Извините, я никогда не сталкивался с этим сообщением. Понятия не имею, к сожалению.
Вот мой пример для установки нового пульта дистанционного управления onedrive1с rclone 1.48.0 (на Fedora 30):
$ rclone config
2019/10/10 06:35:56 NOTICE: Config file ".config/rclone/rclone.conf" not found - using defaults
No remotes found - make a new one
n) New remote
s) Set configuration password
q) Quit config
n/s/q> n
name> onedrive1
Type of storage to configure.
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
⋮
19 / Microsoft OneDrive
\ "onedrive"
⋮
Storage> 19
** See help for onedrive backend at: https://rclone.org/onedrive/ **
Microsoft App Client Id
Leave blank normally.
Enter a string value. Press Enter for the default ("").
client_id>
Microsoft App Client Secret
Leave blank normally.
Enter a string value. Press Enter for the default ("").
client_secret>
Edit advanced config? (y/n)
y) Yes
n) No
y/n> n
Remote config
Use auto config?
* Say Y if not sure
* Say N if you are working on a remote or headless machine
y) Yes
n) No
y/n> y
If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
Log in and authorize rclone for access
Waiting for code...
Got code
Choose a number from below, or type in an existing value
1 / OneDrive Personal or Business
\ "onedrive"
2 / Root Sharepoint site
\ "sharepoint"
3 / Type in driveID
\ "driveid"
4 / Type in SiteID
\ "siteid"
5 / Search a Sharepoint site
\ "search"
Your choice> 1
Found 2 drives, please select the one you want to use:
0: OneDrive - Example Inc (business) id=b!gFLg-RRe****-T9B****
1: OneDrive - Example Inc (business) id=b!gFLg-RRe****-T-H****
Chose drive to use:> 1
Found drive 'root' of type 'business', URL: https://example-my.sharepoint.com/personal/myname_example_com/Documents
Is that okay?
y) Yes
n) No
y/n> y
Current remotes:
Name Type
==== ====
onedrive1 onedrive
e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> q
URL диска 0 заканчивается на /ElementinnerHTMLи не содержит файлов в моем случае.
Ответы:
В настоящее время экспериментальная версия onedrive-d является программой с открытым исходным кодом, которая может синхронизировать только личные учетные записи OneDrive, поскольку она не принимает ссылки Microsoft Sharepoint. Вот метод синхронизации OneDrive Business / Office 365 с использованием GoodSync для Linux , который является бесплатным для личного использования.
Установите подходящую версию на ваш компьютер Linux, например:
Ответа на этот вопрос п О как для установки GoodSync Connect и GsServer Web UI.
https://xxxxxxx.sharepoint.com/xxxxxxxxxxx/Documents/Forms/All.aspx
и на основе этого получите вашу ссылку для синхронизации, которая будетoffice365://xxxxxxx.sharepoint.com/xxxxxxxxxxx/Documents
.Создайте новый файл в подпапке .goodsync у себя дома:
Введите следующий код в файл и сохраните его:
Запустите процесс синхронизации:
На этом этапе ваш веб-браузер откроет страницу OneDrive / Office 365 и запросит у вас авторизацию, чтобы позволить goodsync получить доступ к вашей учетной записи. После ввода ваших учетных данных начнется синхронизация.
Ограничения: Microsoft не разрешает URL-запросы длиной более 270 символов, поэтому GoodSync НЕ МОЖЕТ синхронизировать файлы с длинными путями.
Наслаждайтесь!
источник
Ubuntu 18.04 и позже
В репозиториях Ubuntu по умолчанию в Ubuntu 18.04 и более поздних версиях есть клиент OneDrive. OneDrive - это облачная система хранения данных Microsoft. Этот пакет предоставляет клиент командной строки, специализирующийся на синхронизации с облачным хранилищем OneDrive.
Установите его с помощью:
При первом запуске он просит вас пройти аутентификацию по ссылке. После аутентификации вы можете включить демона с помощью
systemctl --user enable onedrive
и затемsystemctl --user start onedrive
. Дальнейшие объяснения можно найти на странице руководстваman onedrive
. Он очень прост в настройке и занимает всего около пяти минут.источник
Хотя оригинальный и широко используемый
onedrived
инструмент от Xybu по-прежнему не поддерживает OneDrive для бизнеса, а только личные OneDrives. тем не менее, есть derk этого проекта на GitHub от derrix060, который имеет как-то работающую (но все еще ошибочную) реализацию для бизнес-клиента.См. Файл readme проекта для полных инструкций по установке, но вот краткое резюме:
Установка
Убедитесь, что у вас не установлена другая версия
onedrived
(илиonedrive-d
).Установите пакеты зависимостей:
Загрузите последний
ngrok
клиент для Linux с официального сайта https://ngrok.com/download .ngrok-client
Пакет из репозиториев Ubuntu слишком стар и не отвечает требованиям.Распакуйте скачанный
ngrok-stable-linux-amd64.zip
архив. Он содержит одинngrok
двоичный файл, который вы должны поместить в папку$PATH
, например, в/usr/local/bin/
.Регистрация в ngrok, вероятно, не требуется.
Установите
onedrived
приложение Python3 из GitHub, используяpip3
:При желании настройте местоположение файла журнала
onedrived
, где вы можете проверить наличие проблем, если что-то не работает должным образом, напримерНастройка учетной записи и настройка диска
После того, как установка прошла успешно, вы должны настроить свою учетную запись и диск (и):
Добавьте свою учетную запись OneDrive для бизнеса, используя интерактивный режим, выполнив:
Интерактивный мастер дважды попросит вас открыть ссылку в вашем браузере, где вам нужно будет авторизовать приложение с вашей учетной записью Microsoft Business.
Он попросит вас вставить URL, на который вы перенаправлены после подтверждения авторизации, обратно в интерактивный мастер. Пожалуйста, следуйте инструкциям, которые дает команда.
Убедитесь, что учетная запись была успешно добавлена, проверив вывод команды ниже. Он должен выглядеть примерно так и перечислить учетную запись, в которую вы вошли:
Настройте ваши диски в интерактивном командном режиме, выполнив:
Вы увидите список всех ваших дисков и получите запрос на ввод номера строки диска, который вы хотите добавить в локальную конфигурацию.
Затем вам нужно указать локальный каталог, который вы хотите использовать в качестве корневой папки для синхронизации с вашим диском. Вы можете просто нажать, Enterи он будет использовать по умолчанию
~/OneDrive
. Если путь не существует, он будет создан. То же самое для пути к файлу игнорирования, который вы хотите использовать, вы можете просто нажать, Enterи он будет использовать значение по умолчанию~/.config/onedrived/ignore_v2.txt
и создаст его, если это необходимо.Проверьте вывод команды ниже, чтобы отобразить информацию обо всех доступных и настроенных дисках. Он должен показывать только что настроенный диск с правильными настройками под заголовком
Drives that have been set up
:Запуск демона
Теперь, когда ваш диск настроен, вам нужно попробовать запустить
onedrived
демона. Я рекомендую сначала запустить его в режиме отладки, если есть какие-либо проблемы, которые вы могли бы пропустить. Это начнетсяonedrived
на переднем плане:Если все в порядке и команда не вылетает и не завершается, попробуйте поместить некоторые файлы в локальную папку OneDrive и посмотреть, синхронизируется ли она. Вероятно, вы сможете проверить это, посетив веб-приложение OneDrive по адресу https://www.office.com и проверив, появляются ли там файлы, добавленные вами локально.
Вы можете выйти из
onedrived
процесса в вашем терминале снова, нажав Ctrl+ C.Для
onedrived
нормального запуска в качестве фонового демона запустите его с:Вам, вероятно, следует добавить эту команду в свои автозагрузочные приложения, чтобы она автоматически запускалась при каждом входе в систему. См. Раздел Как автоматически запускать приложения при входе в систему? для этого.
Оболочка для уведомлений об ошибках
Если вы хотите получать уведомления на рабочем столе всякий раз, когда
onedrived
регистрируется ошибка (например, ошибка синхронизации файла), вот скрипт-обертка, который анализирует файл журнала в режиме реального времени и использует notify-send для их отображения вам.Вы можете запустить скрипт-обертку без аргументов (или поместить его в свои автозапускаемые приложения) вместо
onedrived start
команды.источник
rclone поддерживает OneDrive для бизнеса. См. Статью « Как монтировать OneDrive в Linux с помощью Rclone (поддерживает деловые и личные учетные записи)» - блог Linux Uprising для использования.
Вот мой пример для установки нового пульта дистанционного управления
onedrive1
с rclone 1.48.0 (на Fedora 30):URL диска 0 заканчивается на
/ElementinnerHTML
и не содержит файлов в моем случае.Затем смонтируйте его в локальном каталоге через командную строку, rclone-browser или веб-интерфейс, начиная с v1.49 .
источник