Realtime sync under linux?


I am testing the odrive under linux (Ubuntu) and I found it a bit buggy, or I mis-understood its function.
My plan is to sync one way pc -> cloud drive (amazon).
What I have now is that there is no “realtime” sync, unless its a feature only for win/mac, I mean when I create/delete or modify a file the changes are not visible on the cloud drive, sometimes I have to perform that “refresh” option, or “kill” the agent then restart it. Again , maybe I mis-understood the function of this app and realtime sync is for placeholders only.



Hi @xmris,
We do not have a method to monitor realtime filesystem events on Linux, currently, so you won’t get that automatic, instant local change pickup. odrive will actively scan the defined mount occasionally, but not continually, since it can be expensive.

If you want something to sync up immediately, call refresh on the folder you placed the item into. That will tell odrive to immediately look in that location for changes. odrive should pick it up then and sync. If you don’t do this, odrive will pickup the change on the next local scan, but that could take up to 30 minutes, or so.

Depending on the storage (storage that provides a method for querying for changes, like Google Drive and Amazon Drive), odrive can pickup remote changes within a minute and reflect those locally.

You mentioned one-way sync, so I just want to clarify that odrive is always a two-way sync engine, and will always try to reflect changes on both sides.

Thanks for the info, what I did was a refresh on the root folder, so thats maybe the issue as the agent scanned the whole folders (looks like a notification like"refreshing" or something like this is missing from the status screen)

1 Like

Hi @xmris,
The refresh command is not recursive, so it will only apply to the folder specified.

aha that’s it! definitely I need a recursive refresh script :slight_smile:

Hi @xmris,
Keep in mind that the timed local scan that odrive does happens every 30 minutes. This scan is a local-only scan, so it does not request information from the remote side. A refresh command, however, will perform a local and remote scan of a folder. This means that performing a recursive refresh can be quite expensive and cause API throttling, depending on the storage source, the size of the folder structure, and how frequently you are running it.

My recommendation is to utilize the 30 minute background local scan, in most cases, and then refresh specific local paths when you need the change to be reflected to the remote side immediately.

I will also look into what other options we may be able to provide for a more efficient method for local pick-up.

I see… I finally decided to do something this: force refresh to local folder when I am doing changes, in fact to files that I want to keep in sync all the time eg a notes file that is text only (org) I just set a shell script that forces sync on that folder after every edit (its console + emacs so nothing special).

1 Like