Microsoft OneDrive Business / Office 365 Pro bietet 1 TB Cloud-Speicher. Leider gab es noch nie eine Methode zur Synchronisierung unter Linux.
Microsoft OneDrive Business / Office 365 Pro bietet 1 TB Cloud-Speicher. Leider gab es noch nie eine Methode zur Synchronisierung unter Linux.
Antworten:
Derzeit ist das experimentelle onedrive-d ein Open-Source-Programm, das nur persönliche OneDrive-Konten synchronisieren kann, da es keine Microsoft Sharepoint-Links akzeptiert. Hier ist eine Methode zum Synchronisieren von OneDrive Business / Office 365 mit GoodSync für Linux , das für den persönlichen Gebrauch kostenlos ist.
Installieren Sie eine geeignete Version auf Ihrem Linux-Rechner, zB:
./goodsync-linux-x86_64-release.run
Antwort von n o für beide GoodSync Connect Setup und GsServer Web - Benutzeroberfläche.
https://xxxxxxx.sharepoint.com/xxxxxxxxxxx/Documents/Forms/All.aspx
und basierend darauf erhalten Sie Ihren Synchronisierungslink, der sein wird office365://xxxxxxx.sharepoint.com/xxxxxxxxxxx/Documents
.Erstellen Sie eine neue Datei im Unterordner .goodsync in Ihrem Zuhause:
gedit ~/.goodsync/jobs.tix
Geben Sie den folgenden Code in die Datei ein und speichern Sie ihn:
<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>
Starten Sie den Synchronisierungsvorgang:
gsync sync "OneDrive_Sync"
In diesem Schritt öffnet Ihr Webbrowser die OneDrive / Office 365-Seite und fordert Sie zur Autorisierung auf, damit goodsync auf Ihr Konto zugreifen kann. Nach Eingabe Ihrer Anmeldeinformationen wird die Synchronisierung gestartet.
Einschränkungen: Microsoft erlaubt keine URL-Anfragen mit einer Länge von mehr als 270 Zeichen. GoodSync KANN daher KEINE Dateien mit langen Pfadnamen synchronisieren.
Genießen!
Es gibt einen OneDrive-Client in den Ubuntu-Standardrepositorys in Ubuntu 18.04 und höher. OneDrive ist das Cloud-Speichersystem von Microsoft. Dieses Paket enthält den Befehlszeilenclient, der auf die Synchronisierung mit OneDrive Cloud Storage spezialisiert ist.
Installiere es mit:
sudo apt install onedrive
Beim ersten Start werden Sie aufgefordert, sich mit einem Link zu authentifizieren. Nach der Authentifizierung können Sie den Deamon mit systemctl --user enable onedrive
und dann aktivieren systemctl --user start onedrive
. Weitere Erläuterungen finden Sie in der Manpage man onedrive
. Die Einrichtung ist sehr einfach und dauert nur etwa fünf Minuten.
Das ursprüngliche und onedrived
von xybu häufig verwendete Tool unterstützt zwar noch nicht OneDrive for Business, aber nur persönliche OneDrives. Es gibt jedoch einen Fork dieses Projekts auf GitHub von derrix060 , der eine irgendwie funktionierende (aber immer noch fehlerhafte) Implementierung für den Business-Client hat.
Warnung: Wenn Sie diese Methode verwenden, empfehle ich dringend, immer zu überprüfen, ob die Dateien korrekt synchronisiert wurden, indem Sie sie online unter https://www.office.com überprüfen und / oder mein am Ende dieser Seite gezeigtes Wrapper-Skript verwenden um sich zumindest mit Desktop-Benachrichtigungen über Fehler zu informieren!
Manchmal kann es vorkommen, dass onedrived einige Änderungen nicht aufnimmt oder nicht korrekt hochlädt, sodass sich Ihr OneDrive in einem (teilweise) nicht synchronisierten Zustand befindet. Es kann auch vorkommen, dass es aus irgendeinem Grund Zusammenführungskonflikte mit sich selbst erzeugt und Ihre Dateien lokal umbenennt, indem Sie Ihren Hostnamen in Klammern und optional eine Zahl anhängen. Leider gibt es keine Benachrichtigung über Fehler, aber Sie können die Einträge in Ihrer Protokolldatei sehen.
In diesem Fall können Sie versuchen, die entsprechenden Dateien erneut zu synchronisieren, indem Sie sie beispielsweise berühren oder umbenennen oder den Ordner, in dem sie sich befinden.
Tipp: Es sieht so aus, als ob in der Onedrived-Bibliothek häufig Probleme auftreten, insbesondere bei Dateien, die direkt im OneDrive-Stammverzeichnis gespeichert wurden. Es ist wahrscheinlich besser, alle Dateien in Unterverzeichnissen abzulegen, als sie direkt in den OneDrive-Ordner zu kopieren.
Obwohl es sich dumm anhört, ist mir auch aufgefallen, dass das Hochladen von Dateien über den OneDrive-Webclient anscheinend weniger Probleme verursacht, als das Erstellen oder Kopieren / Verschieben von Dateien örtlich. Ob dies praktisch ist oder völlig ungültig, der Zweck von OneDrive liegt in Ihrer eigenen Entscheidung ...
Eine vollständige Installationsanleitung finden Sie in der Readme-Datei des Projekts. Hier eine kurze Zusammenfassung:
Stellen Sie sicher, dass keine andere Version von onedrived
(oder onedrive-d
) installiert ist.
Installieren Sie Abhängigkeitspakete:
sudo apt install build-essential python3-dev libssl-dev inotify-tools python3-dbus libdbus-1-dev libdbus-glib-1-dev
Laden Sie den neuesten ngrok
Client für Linux von der offiziellen Website unter https://ngrok.com/download herunter . Das ngrok-client
Paket aus den Ubuntu-Repositories ist zu alt und entspricht nicht den Anforderungen.
Entpacke das heruntergeladene ngrok-stable-linux-amd64.zip
Archiv. Es enthält eine einzelne ngrok
Binärdatei, die Sie an einer Stelle auf Ihrem $PATH
, z /usr/local/bin/
. B. in , ablegen sollten .
Eine Anmeldung bei ngrok ist wahrscheinlich nicht erforderlich.
Installieren Sie die onedrived
Python3-Anwendung von GitHub mit pip3
:
sudo -H pip3 install git+https://github.com/derrix060/onedriveClient.git
Konfigurieren Sie optional einen Speicherort für die Protokolldatei onedrived
, für den Sie nach Problemen suchen können, wenn etwas nicht korrekt funktionieren sollte, z.
onedrived-pref config set logfile_path ~/.config/onedrived/onedrived.log
Nach erfolgreicher Installation müssen Sie Ihr Konto und Ihre Laufwerke konfigurieren:
Fügen Sie Ihr OneDrive for Business-Konto im interaktiven Modus hinzu, indem Sie Folgendes ausführen:
onedrived-pref account add -b
Der interaktive Assistent fordert Sie zweimal auf, einen Link in Ihrem Browser zu öffnen, über den Sie die Anwendung mit Ihrem Microsoft Business-Konto autorisieren müssen.
Nach Bestätigung der Autorisierung werden Sie aufgefordert, die URL, zu der Sie umgeleitet werden, in den interaktiven Assistenten einzufügen. Bitte befolgen Sie die Anweisungen des Befehls.
Überprüfen Sie, ob das Konto erfolgreich hinzugefügt wurde, indem Sie die Ausgabe des folgenden Befehls überprüfen. Es sollte ähnlich aussehen und das Konto auflisten, mit dem Sie angemeldet sind:
$ 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
Konfigurieren Sie Ihre Laufwerke im interaktiven Befehlsmodus, indem Sie Folgendes ausführen:
onedrived-pref drive set
Sie sehen eine Liste aller Laufwerke und werden aufgefordert, die Zeilennummer des Laufwerks einzugeben, das Sie zu Ihrer lokalen Konfiguration hinzufügen möchten.
Anschließend müssen Sie ein lokales Verzeichnis angeben, das Sie als Stammordner für die Synchronisierung mit Ihrem Laufwerk verwenden möchten. Sie können einfach drücken Enterund es wird die Standardeinstellung verwendet ~/OneDrive
. Wenn der Pfad nicht existiert, wird er erstellt. Das Gleiche gilt für den Pfad zu der zu verwendenden Ignorierdatei. Sie können einfach auf Enterdrücken. Die Standarddatei wird verwendet ~/.config/onedrived/ignore_v2.txt
und bei Bedarf erstellt.
Überprüfen Sie die Ausgabe des folgenden Befehls, um die Informationen zu allen verfügbaren und konfigurierten Laufwerken anzuzeigen. Unter der Überschrift sollte das Laufwerk angezeigt werden, das Sie gerade mit den richtigen Einstellungen eingerichtet haben Drives that have been set up
:
onedrived-pref drive list
Nachdem Sie Ihr Laufwerk konfiguriert haben, müssen Sie versuchen, den onedrived
Daemon zu starten . Ich empfehle, es zuerst im Debug-Modus zu starten, falls es Probleme gibt, die Sie sonst vermissen würden. Dies wird onedrived
im Vordergrund beginnen:
onedrived start --debug
Wenn alles in Ordnung ist und der Befehl nicht abstürzt und beendet wird, versuchen Sie, einige Dateien in Ihrem lokalen OneDrive-Ordner abzulegen und zu überprüfen, ob die Synchronisierung erfolgt. Sie sollten dies möglicherweise überprüfen können, indem Sie die OneDrive-Webanwendung unter https://www.office.com aufrufen und prüfen, ob die lokal hinzugefügten Dateien dort angezeigt werden.
Sie können den onedrived
Vorgang in Ihrem Terminal wieder beenden, indem Sie Ctrl+ drücken C.
onedrived
Führen Sie zum normalen Starten als Hintergrund-Daemon Folgendes aus:
onedrived start
Sie sollten diesen Befehl wahrscheinlich zu Ihren Startup-Anwendungen hinzufügen, damit er bei jeder Anmeldung automatisch gestartet wird. Weitere Informationen finden Sie unter Wie starte ich Anwendungen beim Anmelden automatisch ?. dafür.
Wenn Sie Desktop-Benachrichtigungen erhalten möchten, wenn onedrived
ein Fehler protokolliert wird (z. B. fehlgeschlagene Dateisynchronisierung), finden Sie hier ein Wrapper-Skript, das die Protokolldatei in Echtzeit analysiert und diese mithilfe von notify-send anzeigt.
Sie können das Wrapper-Skript anstelle des onedrived start
Befehls ohne Argumente starten (oder in Ihre Autostart-Anwendungen einfügen) .
#!/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 unterstützt OneDrive for Business. Weitere Informationen finden Sie im Artikel Bereitstellen von OneDrive unter Linux mithilfe von Rclone (unterstützt geschäftliche und private Konten) - Linux Uprising Blog .
Hier ist mein Beispiel, um eine neue Fernbedienung onedrive1
mit rclone 1.48.0 (unter Fedora 30) einzurichten:
$ 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
Die URL von Laufwerk 0 endet mit /ElementinnerHTML
und enthält in meinem Fall keine Dateien.
Mounten Sie es dann in einem lokalen Verzeichnis über die Befehlszeile, den RClone-Browser oder die Web-GUI seit v1.49 .