Backup to Microsoft OneDrive for Business (SharePoint) with Synology’s Hyper Backup

This is a follow-up to my article Backup to Microsoft OneDrive with Synology’s Hyper Backup. After presenting my solution for using Microsoft OneDrive (Personal) as a backup destination in Synology’s Hyper Backup, I was asked if it could also be used with OneDrive for Business. OneDrive for Business is based on SharePoint, which can be configured in different ways. Thanks to the node-sp-auth package, I was able to write another proxy server that works with several of the different SharePoint authentication mechanisms.

tl;dr Run the basic-to-sharepoint-auth-http-proxy Docker image and configure a WebDAV backup destination in Hyper Backup.

The approach is the same as with OneDrive (Personal): Hyper Backup does not offer to configure OneDrive for Business as a backup destination, but it does offer to configure a WebDAV server as backup destination. OneDrive for Business does provide a WebDAV API, but most of the authentication mechanisms provided by OneDrive for Business are not supported by Hyper Backup. (Hyper Backup seems to support NTLM authentication, but I never succeeded in authenticating with NTLM.) So the solution is a HTTP proxy server that manages the authentication part and passes through the WebDAV messages mostly unchanged.

The setup is similar to what is described in Backup to Microsoft OneDrive with Synology’s Hyper Backup. Specific instructions can be found at the GitHub repository.

Beware that this software is not thoroughly tested yet.

10 Gedanken zu „Backup to Microsoft OneDrive for Business (SharePoint) with Synology’s Hyper Backup

  1. Ich habe versucht den Container auf einem Raspberry Pi 3 Model B Rev 1.2 auszuführen. (ARMv7)
    Docker version 19.03.1, build 74b1e89
    Der Container hat aber immer den Status ‚“Restarting“.

    docker logs sharepoint-proxy sagt folgendes:
    standard_init_linux.go:211: exec user process caused „exec format error“
    standard_init_linux.go:211: exec user process caused „exec format error“
    standard_init_linux.go:211: exec user process caused „exec format error“

    Kannst du weiterhelfen? Kann es sein, dass der Container nicht auf ARM-Architekturen lauffähig ist, sondern nur für x86_64?

    Vielen Dank.

    Gruß
    Andy

    • Ja das kann sein. Der Container basiert auf dem node:10-alpine container, das zugehörige Dockerfile liegt im GitHub-Repository. Auf der Docker node Seite steht zwar, die Images seien mit ARM kompatibel, aber vielleicht gilt das nicht für die alpine-Variante. Du könntest mit den Dateien aus dem GitHub-Repository ein eigenes Image basierend auf node:10 bauen (einfach Dockerfile anpassen). Alternativ kann man z.B. Node.js auch direkt auf dem Raspberry Pi installieren. Hilft das weiter?

      • Ich habe nun Node.js direkt auf dem Raspberry Pi installiert.
        Es läuft jetzt 🙂
        Vielen Dank für diese tolle Arbeit!

  2. Erstmal danke für diese Klasse arbeit. Ich kann damit mein 1 TB Onedrive sinnvoll für’s Backup nutzen. Nun habe ich eine große Datenmenge dort liegen aber leider seit einigen Wochen Fehler beim inkrementellen Backup.
    Der Fehler, der immer wieder auftritt ist:
    „RequestBodyCache: Cache overflowed while caching data“.
    Wenn ich es richtig sehe, wird die definierte maximale Cache-Größe von 2kb in lib/RequestBodyCache.js überschritten. Muss das 2kb aus einem bestimmten Grund auf 2kb limitiert sein?

    • Kleiner Nachtrag, auch ein „hotfix“ mit Anpassung der genannten Cache-Größe im deployten Container scheint nicht Abhilfe zu bringen (auf 16kb erhöht – bin aber nicht sicher, ob das sauber übernommen wurde).

  3. Ich habe versucht mittels Shrew Soft VPN Client v2.2.2 per VPN meine FRITZ!Box 6591 Cable – unter Windows 10 – zu verbinden. Obwohl die notwendigen Voraussetzungen korrekt vorhanden sind (Benutzername des FB-Benutzers, Passwort des FB-Benutzers, Server Adresse, IPSec Pre-Shared Key), funktioniert die Konfiguration nicht.
    Im ersten Reiter -General- der VPN Site Configuration ist schon Schluß. Bei der Eingabe der Server Adresse: u0…..myfritz.net erscheint die Fehlermeldung „Please specify a valid server certificate file name“.
    Was hab ich falsch gemacht?

  4. Hallo,
    funktioniert der Proxy noch ?
    Leider will er bei mir nicht funktionieren, die Fehlermeldung lautet:
    proxy:error:
    Sending error response: 500 getaddrinfo EAI_AGAIN d.docs.live.net d.docs.live.net:443
    Gruß Jan

  5. Hello
    I have an office 365 account with my university. Im not allowed to generate an app password and for account authentication sharepoint takes me first to my university login website (Taking you to your organization’s sign-in page). I believe this is a limitation when trying to use the proxy to add the hyper backup task.
    Are there any workarounds?

    thanks

  6. Hallo Ray,
    Danke für deinen Artikel.

    Ich habe mir auch überlegt Daten von einer QNAP auf OneDrive for Business zu schieben, aber aufgrund der von uns verwendeten 2 Faktor Authentifizierung über den Microsoft Authenticator der entweder in die App rein fragt oder eine SMS schicken kann, stelle ich es mir nicht so einfach vor.
    Hast du hier evtl. Erfahrungen gesammelt und kannst die Machbarkeit/Funktionsfähigkeit dazu einschätzen?

    Gruß
    Martin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

 

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.