OneDrive sync on Linux

There is no official client for OneDrive for Linux, but there are some open source alternatives, e.g.:

OneDrive Client for Linux

TL;DR does what you expect, available only for OneDrive.

Syncs a local folder with remote OneDrive: monitors changes both locally and remotely and synchronizes them.

In short, does pretty much what you expect from a file hosting and syncing service, similar to native clients.

Seems to be a fork of the client by skilion, but fixes some drawbacks:

The ‘skilion’ version contains a significant number of defects in how the local sync state is managed.

Also seems to be better maintained.

Useful notes

  • Running --synchronize will download from remote and overwrite local changes. So this should not be invoked normally (and especially not after working on files offline), except for the first call.

Rclone

TL;DR does less (or differently) than what you expect, but available for almost any cloud drive provider.

Supports many providers (42 as of writing this), but cannot do bi-directional sync1. The closest you can get to this is the mount command, but does it not work offline2.

In short, does not do what you expect from a cloud drive client, but can shine in other workflows. Example, explore remote OneDrive (or almost any file hosting, such as Google Drive, Dropbox, etc. for that matter) and only download files that you need.

Useful notes

  • Sometimes mount breaks and the mount point cannot be edited or deleted in any way. It should be unmounted first:

    fusermount -u ./the-problematic-directory
    

References