Microsoft OneDrive Business / Office 365 Pro cung cấp 1 TB dung lượng lưu trữ đám mây nhưng thật không may, chưa bao giờ có một phương pháp để đồng bộ hóa nó trên Linux.
Microsoft OneDrive Business / Office 365 Pro cung cấp 1 TB dung lượng lưu trữ đám mây nhưng thật không may, chưa bao giờ có một phương pháp để đồng bộ hóa nó trên Linux.
Câu trả lời:
Hiện tại, onedrive-d thử nghiệm là một chương trình nguồn mở chỉ có thể đồng bộ hóa các tài khoản OneDrive cá nhân vì nó không chấp nhận các liên kết Microsoft Sharepoint. Đây là một phương pháp để đồng bộ hóa OneDrive Business / Office 365 bằng GoodSync cho Linux , miễn phí cho sử dụng cá nhân.
Cài đặt phiên bản phù hợp cho máy Linux của bạn, vd:
./goodsync-linux-x86_64-release.run
Trả lời bằng n o cho cả thiết lập GoodSync Connect và GsServer Web UI.
https://xxxxxxx.sharepoint.com/xxxxxxxxxxx/Documents/Forms/All.aspx
và dựa trên đó có được bạn liên kết đồng bộ sẽ được office365://xxxxxxx.sharepoint.com/xxxxxxxxxxx/Documents
.Tạo một tệp mới trong thư mục con .goodsync trong nhà của bạn:
gedit ~/.goodsync/jobs.tix
Nhập mã sau vào tệp và lưu nó:
<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>
Bắt đầu quá trình đồng bộ hóa:
gsync sync "OneDrive_Sync"
Ở bước này, Trình duyệt web của bạn sẽ mở trang OneDrive / Office 365 và yêu cầu ủy quyền của bạn để cho phép hàng hóa được truy cập vào tài khoản của bạn. Sau khi nhập thông tin đồng bộ của bạn sẽ bắt đầu.
Hạn chế: Microsoft không cho phép các Yêu cầu URL có độ dài hơn 270 ký tự và vì vậy GoodSync KHÔNG thể đồng bộ hóa các tệp với tên đường dẫn dài.
Thưởng thức!
Có một ứng dụng khách OneDrive trong kho lưu trữ Ubuntu mặc định trong Ubuntu 18.04 trở lên. OneDrive là hệ thống lưu trữ đám mây của Microsoft. Gói này cung cấp ứng dụng khách dòng lệnh chuyên đồng bộ hóa với lưu trữ đám mây OneDrive.
Cài đặt nó với:
sudo apt install onedrive
Ở lần chạy đầu tiên, nó yêu cầu bạn xác thực bằng một liên kết. Sau khi xác thực, bạn có thể kích hoạt deamon với systemctl --user enable onedrive
và sau đó systemctl --user start onedrive
. Giải thích thêm có thể được tìm thấy trong trang web man onedrive
. Nó rất dễ cài đặt và chỉ mất khoảng năm phút.
Mặc dù onedrived
công cụ ban đầu và thường được sử dụng bởi xybu vẫn không hỗ trợ OneDrive for Business mà chỉ hỗ trợ OneDrive cá nhân. tuy nhiên, có một nhánh của dự án này trên GitHub bởi derrix060 có triển khai hoạt động (nhưng vẫn có lỗi) cho khách hàng Doanh nghiệp.
Cảnh báo: Khi bạn sử dụng phương pháp này, tôi khuyên bạn nên luôn xác minh rằng các tệp đã được đồng bộ hóa chính xác bằng cách kiểm tra chúng trực tuyến tại https://www.office.com và / hoặc sử dụng tập lệnh trình bao bọc của tôi được hiển thị ở cuối trang này để ít nhất được thông báo về bất kỳ lỗi nào bằng cách sử dụng thông báo trên màn hình!
Đôi khi, onedrived dường như không nhận được một số thay đổi hoặc tải chúng lên một cách chính xác, khiến OneDrive của bạn ở trạng thái không đồng bộ (một phần). Nó cũng có thể xảy ra rằng nó tạo ra xung đột hợp nhất với chính nó vì một số lý do và đổi tên các tệp của bạn cục bộ bằng cách nối thêm tên máy chủ của bạn trong ngoặc đơn và tùy chọn một số. Thật không may, không có thông báo về lỗi, nhưng bạn có thể thấy các mục trong logfile của bạn.
Nếu điều này xảy ra, bạn có thể làm cho nó cố gắng đồng bộ hóa các tệp tương ứng một lần nữa bằng cách chạm vào chúng hoặc đổi tên chúng hoặc thư mục mà chúng đang ở.
Mẹo: Có vẻ như thư viện bị lỗi thường có vấn đề, đặc biệt là với các tệp được lưu trực tiếp trong thư mục gốc OneDrive. Có lẽ tốt hơn là đặt tất cả các tệp trong thư mục con thay vì bỏ chúng trực tiếp vào thư mục OneDrive.
Mặc dù nghe có vẻ ngu ngốc, tôi cũng nhận thấy rằng dường như gây ra ít sự cố hơn khi tải tệp qua ứng dụng khách OneDrive Web và đợi cho đến khi chúng được đồng bộ hóa trở lại thư mục cục bộ của bạn (có thể mất vài phút) so với việc tạo hoặc sao chép / di chuyển chúng tại địa phương Cho dù điều này là thực tế hay hoàn toàn không có mục đích của OneDrive là tùy thuộc vào quyết định của bạn ...
Xem tệp readme của dự án để biết hướng dẫn cài đặt đầy đủ, nhưng đây là một bản tóm tắt ngắn:
Hãy chắc chắn rằng bạn không có phiên bản onedrived
(hoặc onedrive-d
) nào khác được cài đặt.
Cài đặt các gói phụ thuộc:
sudo apt install build-essential python3-dev libssl-dev inotify-tools python3-dbus libdbus-1-dev libdbus-glib-1-dev
Tải xuống ngrok
ứng dụng khách mới nhất cho Linux từ trang web chính thức tại https://ngrok.com/d Download . Các ngrok-client
gói từ kho của Ubuntu là quá cũ và không đáp ứng được yêu cầu này.
Giải nén ngrok-stable-linux-amd64.zip
tệp lưu trữ đã tải xuống . Nó chứa một ngrok
nhị phân duy nhất , mà bạn nên đặt ở một vị trí trên $PATH
, ví dụ như vào /usr/local/bin/
.
Đăng ký để ngrok có lẽ là không cần thiết.
Cài đặt onedrived
ứng dụng Python3 từ GitHub bằng cách sử dụng pip3
:
sudo -H pip3 install git+https://github.com/derrix060/onedriveClient.git
Tùy chọn cấu hình vị trí logfile cho onedrived
, nơi bạn có thể kiểm tra sự cố nếu có bất cứ điều gì không hoạt động chính xác, ví dụ:
onedrived-pref config set logfile_path ~/.config/onedrived/onedrived.log
Sau khi cài đặt thành công, bạn phải định cấu hình tài khoản và ổ đĩa của mình:
Thêm tài khoản OneDrive for Business của bạn bằng chế độ tương tác bằng cách chạy:
onedrived-pref account add -b
Trình hướng dẫn tương tác sẽ yêu cầu bạn hai lần để mở một liên kết trong trình duyệt của bạn, nơi bạn sẽ phải ủy quyền cho ứng dụng bằng tài khoản Microsoft Business của mình.
Nó sẽ yêu cầu bạn dán URL mà bạn được chuyển hướng đến sau khi xác nhận ủy quyền trở lại vào trình hướng dẫn tương tác. Hãy làm như đã nói và làm theo hướng dẫn mà lệnh cung cấp cho bạn.
Xác minh tài khoản đã được thêm thành công bằng cách kiểm tra đầu ra của lệnh bên dưới. Nó sẽ trông tương tự và liệt kê tài khoản bạn đã đăng nhập:
$ 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
Định cấu hình ổ đĩa của bạn ở chế độ lệnh tương tác bằng cách chạy:
onedrived-pref drive set
Bạn sẽ thấy một danh sách tất cả các ổ đĩa của bạn và được yêu cầu nhập số hàng của ổ đĩa bạn muốn thêm vào cấu hình cục bộ của mình.
Sau đó, bạn phải chỉ định một thư mục cục bộ mà bạn muốn sử dụng làm thư mục gốc để đồng bộ hóa với ổ đĩa của bạn. Bạn chỉ có thể nhấn Entervà nó sẽ sử dụng mặc định ~/OneDrive
. Nếu đường dẫn không tồn tại, nó sẽ được tạo. Điều tương tự đối với đường dẫn đến tệp bỏ qua bạn muốn sử dụng, bạn chỉ cần nhấn Entervà nó sẽ sử dụng mặc định ~/.config/onedrived/ignore_v2.txt
và tạo nó, nếu cần.
Kiểm tra đầu ra của lệnh bên dưới để hiển thị thông tin về tất cả các ổ đĩa có sẵn và được cấu hình. Nó sẽ hiển thị ổ đĩa bạn vừa thiết lập với các cài đặt chính xác dưới tiêu đề Drives that have been set up
:
onedrived-pref drive list
Bây giờ ổ đĩa của bạn đã được cấu hình, bạn cần thử và khởi động onedrived
trình nền. Tôi khuyên bạn nên khởi chạy nó trong chế độ gỡ lỗi trước, trong trường hợp có bất kỳ vấn đề nào bạn sẽ bỏ lỡ. Điều này sẽ bắt đầu onedrived
ở tiền cảnh:
onedrived start --debug
Nếu mọi thứ đều ổn và lệnh không bị lỗi và thoát, hãy thử đặt một số tệp vào thư mục OneDrive cục bộ của bạn và xem liệu nó có đồng bộ hóa không. Bạn có thể có thể xác minh rằng bằng cách truy cập ứng dụng web OneDrive tại https://www.office.com và kiểm tra xem các tệp bạn đã thêm cục bộ có xuất hiện ở đó không.
Bạn có thể thoát khỏi onedrived
quy trình trong thiết bị đầu cuối của mình một lần nữa bằng cách nhấn Ctrl+ C.
Để khởi chạy onedrived
bình thường, dưới dạng nền daemon, hãy chạy nó với:
onedrived start
Bạn có thể nên thêm lệnh này vào Ứng dụng khởi động để nó tự động khởi động mỗi khi bạn đăng nhập. Vui lòng tham khảo Làm thế nào để tôi khởi động ứng dụng tự động khi đăng nhập? cho điều đó
Nếu bạn muốn nhận thông báo trên màn hình bất cứ khi nào onedrived
ghi lại lỗi (ví dụ: đồng bộ hóa tệp không thành công), đây là tập lệnh trình bao phân tích tệp nhật ký trong thời gian thực và sử dụng thông báo gửi để hiển thị chúng cho bạn.
Bạn có thể bắt đầu tập lệnh bao bọc mà không cần đối số (hoặc đặt nó trong các ứng dụng tự động khởi động) thay vì onedrived start
lệnh.
#!/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 hỗ trợ OneDrive for Business. Xem bài viết Cách gắn OneDrive trong Linux bằng Rclone (Hỗ trợ tài khoản cá nhân và doanh nghiệp) - Blog khởi nghĩa Linux để sử dụng.
Dưới đây là ví dụ của tôi để thiết lập một điều khiển từ xa mới onedrive1
với rclone 1.48.0 (trên 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 của ổ đĩa 0 kết thúc bằng /ElementinnerHTML
và không chứa tệp trong trường hợp của tôi.
Sau đó gắn kết nó vào một thư mục cục bộ thông qua dòng lệnh, rclone-browser hoặc web GUI kể từ v1.49 .