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
При першому запуску він просить підтвердити автентифікацію за допомогою посилання. Після аутентифікації ви можете ввімкнути Deamon за допомогою, systemctl --user enable onedrive
а потім systemctl --user start onedrive
. Подальші пояснення можна знайти на сторінці сторінки man onedrive
. Це дуже просто в налаштуванні і займає лише п’ять хвилин.
У той час як оригінальний та широко використовуваний onedrived
інструмент від xybu досі не підтримує OneDrive for Business, а лише особисті OneDrives. однак на 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 for Business, використовуючи інтерактивний режим, запустивши:
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
записується помилка (наприклад, помилка синхронізації файлів), ось скрипт для обгортки, який аналізує файл журналу в режимі реального часу та використовує сповіщення-відправлення, щоб відобразити їх вам.
Ви можете запустити скрипт обгортки без аргументів (або помістити його у ваші програми автозапуску) замість 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-браузера або веб-інтерфейсу з V1.49 .