Microsoft OneDrive Business / Office 365 Pro menawarkan 1 TB penyimpanan cloud tetapi sayangnya tidak pernah ada metode untuk menyinkronkannya di Linux.
Microsoft OneDrive Business / Office 365 Pro menawarkan 1 TB penyimpanan cloud tetapi sayangnya tidak pernah ada metode untuk menyinkronkannya di Linux.
Jawaban:
Saat ini onedrive-d eksperimental adalah program sumber terbuka yang hanya dapat menyinkronkan akun OneDrive pribadi karena tidak menerima tautan Microsoft Sharepoint. Berikut adalah metode untuk menyinkronkan OneDrive Business / Office 365 menggunakan GoodSync untuk Linux , yang gratis untuk penggunaan pribadi.
Instal versi yang sesuai untuk mesin Linux Anda mis:
./goodsync-linux-x86_64-release.run
Jawab oleh n untuk pengaturan GoodSync Connect dan GsServer Web UI.
https://xxxxxxx.sharepoint.com/xxxxxxxxxxx/Documents/Forms/All.aspx
dan berdasarkan itu dapatkan tautan sinkronisasi Anda nantinya office365://xxxxxxx.sharepoint.com/xxxxxxxxxxx/Documents
.Buat file baru di subfolder .goodsync di rumah Anda:
gedit ~/.goodsync/jobs.tix
Masukkan kode berikut dalam file dan simpan:
<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>
Mulai proses sinkronisasi:
gsync sync "OneDrive_Sync"
Pada langkah ini Browser web Anda akan membuka halaman OneDrive / Office 365 dan meminta otorisasi Anda untuk memungkinkan goodsync mengakses akun Anda. Setelah memasukkan kredensial Anda, sinkronisasi akan dimulai.
Keterbatasan: Microsoft tidak mengizinkan Permintaan URL dengan panjang lebih dari 270 karakter dan karenanya GoodSync TIDAK BISA menyinkronkan file dengan nama path panjang.
Nikmati!
Ada klien OneDrive di repositori default Ubuntu di Ubuntu 18.04 dan yang lebih baru. OneDrive adalah sistem penyimpanan cloud dari Microsoft. Paket ini menyediakan klien baris perintah yang berspesialisasi dalam menyinkronkan dengan penyimpanan cloud OneDrive.
Instal dengan:
sudo apt install onedrive
Saat pertama kali dijalankan, ia meminta Anda untuk mengautentikasi dengan tautan. Setelah otentikasi, Anda dapat mengaktifkan deamon dengan systemctl --user enable onedrive
dan kemudian systemctl --user start onedrive
. Penjelasan lebih lanjut dapat ditemukan di halaman manual man onedrive
. Pengaturannya sangat mudah, dan hanya membutuhkan waktu sekitar lima menit.
Meskipun alat asli dan yang umum digunakan onedrived
oleh xybu masih tidak mendukung OneDrive for Business, tetapi hanya OneDrives pribadi. namun, ada fork proyek ini di GitHub oleh derrix060 yang entah bagaimana bisa berfungsi (tetapi masih bermasalah) untuk klien Bisnis.
Peringatan: Ketika Anda menggunakan metode ini, saya sangat menyarankan untuk selalu memverifikasi bahwa file-file tersebut disinkronkan dengan benar dengan memeriksa secara online di https://www.office.com , dan / atau menggunakan skrip pembungkus saya yang diperlihatkan di akhir halaman ini. untuk setidaknya mengetahui kesalahan apa pun menggunakan notifikasi desktop!
Terkadang onedrived tampaknya gagal mengambil beberapa perubahan atau mengunggahnya dengan benar, membuat OneDrive Anda dalam keadaan (sebagian) tidak tersinkronisasi. Itu juga dapat terjadi bahwa itu menghasilkan menggabungkan konflik dengan dirinya sendiri untuk beberapa alasan dan mengganti nama file Anda secara lokal dengan menambahkan nama host Anda dalam tanda kurung dan opsional nomor. Sayangnya tidak ada pemberitahuan tentang kesalahan, tetapi Anda dapat melihat entri di logfile Anda.
Jika ini terjadi, Anda dapat membuatnya mencoba menyinkronkan file masing-masing lagi dengan misalnya menyentuhnya atau mengganti nama mereka atau folder tempat mereka berada.
Tip: Sepertinya pustaka onedrived sering memiliki masalah terutama dengan file yang disimpan langsung di root OneDrive. Mungkin lebih baik untuk meletakkan semua file di subdirektori daripada membuangnya langsung ke folder OneDrive.
Meskipun kedengarannya bodoh, saya juga memperhatikan bahwa tampaknya lebih sedikit masalah untuk mengunggah file melalui klien Web OneDrive dan menunggu sampai mereka disinkronkan kembali ke folder lokal Anda (yang dapat memakan waktu beberapa menit) daripada membuat atau menyalin / memindahkannya. secara lokal. Apakah ini praktis atau benar-benar mengosongkan tujuan OneDrive tergantung pada keputusan Anda sendiri ...
Lihat file readme proyek untuk instruksi instalasi lengkap, tapi di sini adalah ringkasan singkat:
Pastikan Anda tidak menginstal versi lain onedrived
(atau onedrive-d
).
Instal paket ketergantungan:
sudo apt install build-essential python3-dev libssl-dev inotify-tools python3-dbus libdbus-1-dev libdbus-glib-1-dev
Unduh ngrok
klien terbaru untuk Linux dari situs web resmi di https://ngrok.com/download . The ngrok-client
paket dari repositori Ubuntu terlalu tua dan tidak memenuhi persyaratan.
Buka paket ngrok-stable-linux-amd64.zip
arsip yang diunduh . Ini berisi ngrok
biner tunggal , yang harus Anda tempatkan di lokasi Anda $PATH
, misalnya ke /usr/local/bin/
.
Mendaftar untuk ngrok mungkin tidak perlu.
Instal onedrived
aplikasi Python3 dari GitHub menggunakan pip3
:
sudo -H pip3 install git+https://github.com/derrix060/onedriveClient.git
Secara opsional konfigurasikan lokasi logfile untuk onedrived
, di mana Anda dapat memeriksa masalah jika ada yang tidak berfungsi dengan benar, misalnya:
onedrived-pref config set logfile_path ~/.config/onedrived/onedrived.log
Setelah instalasi berhasil, Anda harus mengonfigurasi akun dan drive Anda:
Tambahkan akun OneDrive for Business Anda menggunakan mode interaktif dengan menjalankan:
onedrived-pref account add -b
Wizard interaktif akan meminta Anda dua kali untuk membuka tautan di browser Anda, tempat Anda harus mengotorisasi aplikasi dengan akun Microsoft Business Anda.
Ini akan meminta Anda untuk menempelkan URL yang Anda arahkan ke setelah mengkonfirmasi otorisasi kembali ke wizard interaktif. Silakan lakukan seperti yang diperintahkan dan ikuti instruksi yang diberikan perintah kepada Anda.
Verifikasi akun berhasil ditambahkan dengan memeriksa output dari perintah di bawah ini. Seharusnya terlihat serupa dan daftarkan akun tempat Anda masuk:
$ 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
Konfigurasikan drive Anda dalam mode perintah interaktif dengan menjalankan:
onedrived-pref drive set
Anda akan melihat daftar semua drive Anda dan diminta untuk memasukkan nomor baris drive yang ingin Anda tambahkan ke konfigurasi lokal Anda.
Anda kemudian harus menentukan direktori lokal yang ingin Anda gunakan sebagai folder root untuk menyinkronkan dengan drive Anda. Anda bisa menekan Enterdan itu akan menggunakan default ~/OneDrive
. Jika jalan tidak ada, itu akan dibuat. Hal yang sama untuk jalur ke file abaikan yang ingin Anda gunakan, Anda bisa menekan Enterdan itu akan menggunakan default ~/.config/onedrived/ignore_v2.txt
dan membuatnya, jika perlu.
Periksa output dari perintah di bawah ini untuk menampilkan informasi tentang semua drive yang tersedia dan dikonfigurasi. Seharusnya menunjukkan drive yang baru saja Anda atur dengan pengaturan yang benar di bawah judul Drives that have been set up
:
onedrived-pref drive list
Sekarang drive Anda sudah dikonfigurasi, Anda perlu mencoba dan memulai onedrived
daemon. Saya sarankan untuk meluncurkannya dalam mode debug terlebih dahulu, jika ada masalah yang Anda akan lewatkan. Ini akan mulai onedrived
di latar depan:
onedrived start --debug
Jika semuanya baik-baik saja dan perintahnya tidak macet dan keluar, coba letakkan beberapa file di folder OneDrive lokal Anda dan lihat apakah itu disinkronkan. Anda mungkin harus dapat memverifikasi bahwa dengan mengunjungi aplikasi web OneDrive di https://www.office.com dan memeriksa apakah file yang Anda tambahkan secara lokal muncul di sana.
Anda dapat keluar dari onedrived
proses di terminal lagi dengan menekan Ctrl+ C.
Untuk meluncurkan secara onedrived
normal, sebagai daemon latar belakang, jalankan dengan:
onedrived start
Anda mungkin harus menambahkan perintah ini ke Aplikasi Startup Anda, sehingga perintah ini mulai otomatis setiap kali Anda masuk. Lihat Bagaimana cara memulai aplikasi secara otomatis saat login? untuk itu.
Jika Anda ingin mendapatkan pemberitahuan desktop setiap kali onedrived
mencatat kesalahan (mis. Sinkronisasi file gagal), berikut ini adalah skrip wrapper yang mem-parsing file log secara waktu nyata dan menggunakan notify-send untuk menampilkannya kepada Anda.
Anda dapat memulai skrip wrapper tanpa argumen (atau memasukkannya ke aplikasi auto-start Anda) alih-alih onedrived start
perintah.
#!/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 mendukung OneDrive for Business. Lihat artikel Cara Memasang OneDrive Di Linux Menggunakan Rclone (Mendukung Akun Bisnis Dan Pribadi) - Blog Pemberontakan Linux untuk penggunaan.
Ini adalah contoh saya untuk mengatur remote baru onedrive1
dengan rclone 1.48.0 (pada 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 drive 0 diakhiri dengan /ElementinnerHTML
dan tidak berisi file dalam kasus saya.
Kemudian pasang di direktori lokal melalui baris perintah, rclone-browser atau web GUI sejak v1.49 .