Microsoft OneDrive Business / Office 365 Pro oferuje 1 TB przestrzeni dyskowej w chmurze, ale niestety nigdy nie było metody jej synchronizacji w systemie Linux.
Microsoft OneDrive Business / Office 365 Pro oferuje 1 TB przestrzeni dyskowej w chmurze, ale niestety nigdy nie było metody jej synchronizacji w systemie Linux.
Odpowiedzi:
Obecnie eksperymentalny onedrive-d jest programem typu open source, który może synchronizować tylko osobiste konta OneDrive, ponieważ nie akceptuje linków Microsoft Sharepoint. Oto metoda synchronizacji OneDrive Business / Office 365 przy użyciu GoodSync dla systemu Linux , który jest bezpłatny do użytku osobistego.
Zainstaluj odpowiednią wersję na komputerze z systemem Linux, np .:
./goodsync-linux-x86_64-release.run
Odpowiedz przez nr dla konfiguracji GoodSync Connect i interfejsu internetowego GsServer.
https://xxxxxxx.sharepoint.com/xxxxxxxxxxx/Documents/Forms/All.aspx
i na jego podstawie uzyskaj link do synchronizacji, który będzie office365://xxxxxxx.sharepoint.com/xxxxxxxxxxx/Documents
.Utwórz nowy plik w podfolderze .goodsync w domu:
gedit ~/.goodsync/jobs.tix
Wpisz następujący kod w pliku i zapisz go:
<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>
Rozpocznij proces synchronizacji:
gsync sync "OneDrive_Sync"
Na tym etapie Twoja przeglądarka internetowa otworzy stronę OneDrive / Office 365 i poprosi o Twoją autoryzację, aby zezwolić towarowi na dostęp do twojego konta. Po wprowadzeniu danych logowania rozpocznie się synchronizacja.
Ograniczenia: Microsoft nie zezwala na Żądania URL o długości większej niż 270 znaków, dlatego GoodSync NIE MOŻE synchronizować plików o długich ścieżkach.
Cieszyć się!
Klient OneDrive znajduje się w domyślnych repozytoriach Ubuntu w Ubuntu 18.04 i nowszych. OneDrive to system pamięci masowej w chmurze firmy Microsoft. Ten pakiet udostępnia klienta wiersza polecenia specjalizującego się w synchronizacji z pamięcią masową w chmurze OneDrive.
Zainstaluj z:
sudo apt install onedrive
Przy pierwszym uruchomieniu prosi o uwierzytelnienie za pomocą linku. Po uwierzytelnieniu możesz włączyć diamon za pomocą, systemctl --user enable onedrive
a następnie systemctl --user start onedrive
. Dalsze wyjaśnienia można znaleźć na stronie podręcznika man onedrive
. Jest bardzo łatwy w konfiguracji i zajmuje tylko około pięciu minut.
Podczas gdy oryginalne i często używane onedrived
narzędzie przez xybu nadal nie obsługuje OneDrive dla Firm, ale tylko osobiste OneDrive. istnieje jednak rozwidlenie tego projektu na GitHub autorstwa derrix060, które ma w jakiś sposób działającą (ale wciąż błędną) implementację dla klienta biznesowego.
Ostrzeżenie: podczas korzystania z tej metody zdecydowanie zalecamy, aby zawsze sprawdzić, czy pliki zostały poprawnie zsynchronizowane, sprawdzając je online na stronie https://www.office.com i / lub użyć mojego skryptu opakowania pokazanego na końcu tej strony aby przynajmniej otrzymywać informacje o błędach za pomocą powiadomień na pulpicie!
Czasami zdaje się, że onedrived nie odbiera niektórych zmian lub nie przesyła ich poprawnie, pozostawiając OneDrive w (częściowo) niezsynchronizowanym stanie. Może się również zdarzyć, że z jakiegoś powodu generuje on konflikty scalania i zmienia nazwy plików lokalnie, dodając nazwę hosta w nawiasach i opcjonalnie liczbę. Niestety nie ma powiadomienia o błędach, ale możesz zobaczyć wpisy w swoim pliku dziennika.
Jeśli tak się stanie, możesz spróbować ponownie zsynchronizować odpowiednie pliki, np. Dotykając ich lub zmieniając ich nazwę lub folder, w którym się znajdują.
Wskazówka: Wygląda na to, że biblioteka onedrived często ma problemy, szczególnie z plikami zapisanymi bezpośrednio w katalogu głównym OneDrive. Prawdopodobnie lepiej jest umieścić wszystkie pliki w podkatalogach zamiast zrzucić je bezpośrednio do folderu OneDrive.
Chociaż brzmi to głupio, zauważyłem również, że wydaje się, że powoduje mniej problemów z przesyłaniem plików za pośrednictwem klienta sieci Web OneDrive i poczekaj, aż zsynchronizują się z powrotem z folderem lokalnym (choć może to potrwać kilka minut) niż ich utworzenie, skopiowanie / przeniesienie lokalnie. Bez względu na to, czy jest to praktyczne, czy całkowicie nieważne, OneDrive należy do Ciebie ...
Zobacz plik readme projektu, aby uzyskać pełne instrukcje instalacji, ale oto krótkie podsumowanie:
Upewnij się, że nie masz zainstalowanej innej wersji onedrived
(lub onedrive-d
).
Zainstaluj pakiety zależności:
sudo apt install build-essential python3-dev libssl-dev inotify-tools python3-dbus libdbus-1-dev libdbus-glib-1-dev
Pobierz najnowszego ngrok
klienta dla systemu Linux z oficjalnej strony internetowej pod adresem https://ngrok.com/download . ngrok-client
Pakiet z repozytoriów Ubuntu jest zbyt stary i nie spełnia wymogów.
Rozpakuj pobrane ngrok-stable-linux-amd64.zip
archiwum. Zawiera pojedynczy ngrok
plik binarny, który powinieneś umieścić w swoim miejscu $PATH
, np /usr/local/bin/
. W.
Rejestracja w ngrok prawdopodobnie nie jest konieczna.
Zainstaluj onedrived
aplikację Python3 z GitHub, używając pip3
:
sudo -H pip3 install git+https://github.com/derrix060/onedriveClient.git
Opcjonalnie skonfiguruj lokalizację pliku dziennika dla onedrived
, w której możesz sprawdzić problemy, jeśli coś nie działa poprawnie, np .:
onedrived-pref config set logfile_path ~/.config/onedrived/onedrived.log
Po pomyślnej instalacji musisz skonfigurować swoje konto i dyski:
Dodaj swoje konto OneDrive dla Firm w trybie interaktywnym, uruchamiając:
onedrived-pref account add -b
Interaktywny kreator poprosi Cię dwukrotnie o otwarcie łącza w przeglądarce, w którym będziesz musiał autoryzować aplikację za pomocą konta Microsoft Business.
Poprosi Cię o wklejenie adresu URL, na który zostaniesz przekierowany po potwierdzeniu autoryzacji z powrotem do interaktywnego kreatora. Postępuj zgodnie z instrukcjami i postępuj zgodnie z instrukcjami podanymi przez polecenie.
Sprawdź, czy konto zostało pomyślnie dodane, sprawdzając dane wyjściowe polecenia poniżej. Powinien wyglądać podobnie i wyświetlać konto, na którym jesteś zalogowany:
$ 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
Skonfiguruj dyski w interaktywnym trybie poleceń, uruchamiając:
onedrived-pref drive set
Zobaczysz listę wszystkich dysków i zostaniesz poproszony o podanie numeru wiersza dysku, który chcesz dodać do konfiguracji lokalnej.
Następnie musisz określić katalog lokalny, którego chcesz użyć jako folderu głównego do synchronizacji z dyskiem. Możesz po prostu nacisnąć, Entera użyje domyślnego ~/OneDrive
. Jeśli ścieżka nie istnieje, zostanie utworzona. To samo dotyczy ścieżki do pliku zignorowania, którego chcesz użyć, możesz po prostu nacisnąć, Entera on użyje domyślnego ~/.config/onedrived/ignore_v2.txt
i utworzy go, jeśli to konieczne.
Sprawdź dane wyjściowe poniższego polecenia, aby wyświetlić informacje o wszystkich dostępnych i skonfigurowanych napędach. Powinien on pokazywać właśnie skonfigurowany dysk z poprawnymi ustawieniami pod nagłówkiem Drives that have been set up
:
onedrived-pref drive list
Po skonfigurowaniu dysku musisz spróbować uruchomić onedrived
demona. Polecam najpierw uruchomić go w trybie debugowania, na wypadek problemów, których w przeciwnym razie byś nie zauważył. Rozpocznie się onedrived
na pierwszym planie:
onedrived start --debug
Jeśli wszystko jest w porządku, a polecenie nie ulega awarii i nie kończy działania, spróbuj umieścić niektóre pliki w lokalnym folderze OneDrive i sprawdź, czy się synchronizuje. Prawdopodobnie powinieneś być w stanie to sprawdzić, odwiedzając aplikację internetową OneDrive pod adresem https://www.office.com i sprawdzając, czy pliki dodane lokalnie się tam pojawiają.
Możesz ponownie zakończyć onedrived
proces w swoim terminalu, naciskając Ctrl+ C.
Aby uruchomić onedrived
normalnie, jako demon w tle, uruchom go z:
onedrived start
Prawdopodobnie powinieneś dodać to polecenie do swoich aplikacji startowych, aby uruchamiało się ono automatycznie przy każdym logowaniu. Zapoznaj się z tematem Jak automatycznie uruchamiać aplikacje podczas logowania? za to.
Jeśli chcesz otrzymywać powiadomienia na pulpicie za każdym razem, gdy onedrived
loguje się błąd (np. Nieudana synchronizacja pliku), oto skrypt otoki, który analizuje plik dziennika w czasie rzeczywistym i używa polecenia send-send, aby wyświetlić je tobie.
Możesz uruchomić skrypt opakowania bez argumentów (lub umieścić go w aplikacjach automatycznego uruchamiania) zamiast onedrived start
polecenia.
#!/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 obsługuje OneDrive dla Firm. Zobacz artykuł Jak zamontować OneDrive w systemie Linux za pomocą Rclone (obsługuje konta firmowe i osobiste) - Blog Powstania Linuksa do użytku.
Oto mój przykład instalacji nowego pilota onedrive1
z rclone 1.48.0 (na Fedorze 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
Adres URL dysku 0 kończy się na /ElementinnerHTML
i w moim przypadku nie zawiera plików.
Następnie zamontuj go w katalogu lokalnym za pomocą wiersza polecenia, przeglądarki rclone lub internetowego interfejsu GUI od wersji 1.449 .