Microsoft OneDrive Business / Office 365 Pro предлагает облачное хранилище объемом 1 ТБ, но, к сожалению, в Linux никогда не было способа его синхронизации.
Microsoft OneDrive Business / Office 365 Pro предлагает облачное хранилище объемом 1 ТБ, но, к сожалению, в Linux никогда не было способа его синхронизации.
Ответы:
В настоящее время экспериментальная версия onedrive-d является программой с открытым исходным кодом, которая может синхронизировать только личные учетные записи OneDrive, поскольку она не принимает ссылки Microsoft Sharepoint. Вот метод синхронизации OneDrive Business / Office 365 с использованием GoodSync для Linux , который является бесплатным для личного использования.
Установите подходящую версию на ваш компьютер Linux, например:
./goodsync-linux-x86_64-release.run
Ответа на этот вопрос п О как для установки GoodSync Connect и GsServer Web UI.
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 НЕ МОЖЕТ синхронизировать файлы с длинными путями.
Наслаждайтесь!
В репозиториях 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
).
Установите пакеты зависимостей:
sudo apt install build-essential python3-dev libssl-dev inotify-tools python3-dbus libdbus-1-dev libdbus-glib-1-dev
Загрузите последний ngrok
клиент для Linux с официального сайта https://ngrok.com/download . ngrok-client
Пакет из репозиториев Ubuntu слишком стар и не отвечает требованиям.
Распакуйте скачанный ngrok-stable-linux-amd64.zip
архив. Он содержит один ngrok
двоичный файл, который вы должны поместить в папку $PATH
, например, в /usr/local/bin/
.
Регистрация в ngrok, вероятно, не требуется.
Установите onedrived
приложение Python3 из GitHub, используя pip3
:
sudo -H pip3 install git+https://github.com/derrix060/onedriveClient.git
При желании настройте местоположение файла журнала 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 start
Вам, вероятно, следует добавить эту команду в свои автозагрузочные приложения, чтобы она автоматически запускалась при каждом входе в систему. См. Раздел Как автоматически запускать приложения при входе в систему? для этого.
Если вы хотите получать уведомления на рабочем столе всякий раз, когда onedrived
регистрируется ошибка (например, ошибка синхронизации файла), вот скрипт-обертка, который анализирует файл журнала в режиме реального времени и использует notify-send для их отображения вам.
Вы можете запустить скрипт-обертку без аргументов (или поместить его в свои автозапускаемые приложения) вместо onedrived start
команды.
#!/bin/bash
LOGFILE=~/.config/onedrived/onedrived.log
ICON_START=weather-overcast
ICON_STOP=weather-few-clouds
ICON_ERROR=weather-severe-alert
onexit () {
onedrived stop
notify-send -i "$ICON_STOP" "OneDrive" "Wrapper stopped"
echo "onedrived-wrapper stopped"
}
trap onexit EXIT
onedrived stop
echo "---" >> "$LOGFILE"
onedrived start || {
echo "Failed to start onedrived!"
exit 1
}
notify-send -i "$ICON_START" "OneDrive" "Wrapper started"
echo "Monitoring onedrived.log for error messages..."
tail -n 1 -F --pid="$(pgrep -f "onedrived start")" "$LOGFILE" |
while read LINE ; do
echo "$LINE"
if MESSAGE="$(grep -Pio '(?<=ERROR: ).*' <<< "$LINE")" ; then
notify-send -i "$ICON_ERROR" "OneDrive Error" "$MESSAGE"
fi
done
rclone поддерживает OneDrive для бизнеса. См. Статью « Как монтировать OneDrive в Linux с помощью Rclone (поддерживает деловые и личные учетные записи)» - блог Linux Uprising для использования.
Вот мой пример для установки нового пульта дистанционного управления 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
и не содержит файлов в моем случае.
Затем смонтируйте его в локальном каталоге через командную строку, rclone-browser или веб-интерфейс, начиная с v1.49 .