Jak zsynchronizować OneDrive Business / Office 365 w systemie Linux?
24
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.
Witamy w Ask Ubuntu ! Jesteśmy witryną pytań i odpowiedzi, a nie forum. Obecnie masz zarówno pytanie, jak i odpowiedź w wyznaczonej części pytania. Proszę edytować swój post do usunięcia odpowiedź i stanowisko, że w sekcji odpowiedzi poniżej (powinien istnieć przycisk u dołu strony). Dzięki!
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.
Otwórz OneDrive w przeglądarce internetowej. wybierz „Return to Classic OneDrive” w prawym dolnym rogu.
Adres internetowy w przeglądarce będzie teraz wyglądał:
https://xxxxxxx.sharepoint.com/xxxxxxxxxxx/Documents/Forms/All.aspxi 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.
Moja przeglądarka internetowa nie otwiera strony autoryzacji w kroku 7. Masz pomysł, jak to zrobić ręcznie?
pat-s
3
Moja przeglądarka internetowa również nie jest otwarta do logowania
Haha TTpro
2
System plików w office365: Dokumenty /.../ zostały zastąpione nowym interfejsem API OneDrive V2. Kliknij przycisk Przeglądaj, aby ponownie przejść do folderu synchronizacji OneDrive, ponieważ nowy OneDrive wymaga uwierzytelnienia opartego na przeglądarce (OAuth2)
Ferroao
6
Ubuntu 18.04 i nowsze wersje
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 onedrivea 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 onedrivednarzę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:
Instalacja
Upewnij się, że nie masz zainstalowanej innej wersji onedrived(lub onedrive-d).
Pobierz najnowszego ngrokklienta dla systemu Linux z oficjalnej strony internetowej pod adresem https://ngrok.com/download . ngrok-clientPakiet z repozytoriów Ubuntu jest zbyt stary i nie spełnia wymogów.
Rozpakuj pobrane ngrok-stable-linux-amd64.ziparchiwum. Zawiera pojedynczy ngrokplik binarny, który powinieneś umieścić w swoim miejscu $PATH, np /usr/local/bin/. W.
Rejestracja w ngrok prawdopodobnie nie jest konieczna.
Zainstaluj onedrivedaplikację Python3 z GitHub, używając pip3:
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
Konfiguracja konta i konfiguracja dysku
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.txti 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
Uruchamianie demona
Po skonfigurowaniu dysku musisz spróbować uruchomić onedriveddemona. Polecam najpierw uruchomić go w trybie debugowania, na wypadek problemów, których w przeciwnym razie byś nie zauważył. Rozpocznie się onedrivedna 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ć onedrivedproces w swoim terminalu, naciskając Ctrl+ C.
Aby uruchomić onedrivednormalnie, jako demon w tle, uruchom go z:
Jeśli chcesz otrzymywać powiadomienia na pulpicie za każdym razem, gdy onedrivedloguje 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 startpolecenia.
Nadal pojawia się komunikat „Autoryzacja onedrived: interakcja nie jest wymagana”. po wprowadzeniu drugiego linku do uwierzytelnienia konta ODfB. Wszelkie pomysły, dlaczego tak się może stać?
Jimakos
@Jimakos Przepraszamy, nigdy nie spotkałem tej wiadomości. Niestety nie mam pojęcia.
Oto mój przykład instalacji nowego pilota onedrive1z 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 /ElementinnerHTMLi w moim przypadku nie zawiera plików.
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 .:
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ędzieoffice365://xxxxxxx.sharepoint.com/xxxxxxxxxxx/Documents
.Utwórz nowy plik w podfolderze .goodsync w domu:
Wpisz następujący kod w pliku i zapisz go:
Rozpocznij proces synchronizacji:
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ę!
źródło
Ubuntu 18.04 i nowsze wersje
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:
Przy pierwszym uruchomieniu prosi o uwierzytelnienie za pomocą linku. Po uwierzytelnieniu możesz włączyć diamon za pomocą,
systemctl --user enable onedrive
a następniesystemctl --user start onedrive
. Dalsze wyjaśnienia można znaleźć na stronie podręcznikaman onedrive
. Jest bardzo łatwy w konfiguracji i zajmuje tylko około pięciu minut.źródło
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.Zobacz plik readme projektu, aby uzyskać pełne instrukcje instalacji, ale oto krótkie podsumowanie:
Instalacja
Upewnij się, że nie masz zainstalowanej innej wersji
onedrived
(lubonedrive-d
).Zainstaluj pakiety zależności:
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 pojedynczyngrok
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ącpip3
:Opcjonalnie skonfiguruj lokalizację pliku dziennika dla
onedrived
, w której możesz sprawdzić problemy, jeśli coś nie działa poprawnie, np .:Konfiguracja konta i konfiguracja dysku
Po pomyślnej instalacji musisz skonfigurować swoje konto i dyski:
Dodaj swoje konto OneDrive dla Firm w trybie interaktywnym, uruchamiając:
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:
Skonfiguruj dyski w interaktywnym trybie poleceń, uruchamiając:
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
:Uruchamianie demona
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: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: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.
Opakowanie do powiadomień o błędach
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.źródło
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):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 .
źródło