Problem with sync_list #3662
-
|
Hey, i wanted to use the discussion feature to ask about a problem i am facing with the sync_list and understanding how it works. We shall not talk about the emojis in the names 😭 Now to my problem: When I launch a sync with --download-only, the client checks all folders of the sharepoint site (correctly ignores according to the list though), which takes roughly 15 minutes, because there are like 20000 Folders. If i have to run the sync multiple times in a day i get rate-limited by the Graph API. Now for my questions Does the --download-only option play into this? For later syncs it works just fine, but my client only tries syncing once a week, because it is part of a cron job. Problem is, that every other week it asks for a resync, which then takes long again. Does anyone in the community have an idea how to fix this? Should i maybe create a live-synced client, to combat the 1 week time-out issue? |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 2 replies
-
|
Your description suggests a misunderstanding of how the client operates, particularly with respect to The OneDrive Client for Linux performs client-side filtering, not server-side filtering. This means the client must still enumerate the entire remote directory structure to determine what exists, and then it applies the Because of this design, the initial scan or a Regarding the behaviour you are seeing:
That is not expected behaviour in normal operation. The client only requests a A resync prompt is typically triggered when these configuration parameters or the runtime environment change, for example:
These scenarios are documented here: Given that you are running the client via a weekly cron job, the most likely explanation is that the job is executing in a different runtime context than you expect. Cron runs with a minimal environment, so common issues include:
When this happens, the client sees a different configuration or state database, and it correctly determines that a To diagnose this, please provide:
The first ~400 lines of the client log output when the cronjob is running. Please enable debug mode ( Once that information is available it should be possible to identify why the client believes the configuration has changed and is requesting a resync. |
Beta Was this translation helpful? Give feedback.
-
|
Further to the above, please review the Server Side Filtering documentation which explains why Client Side Filtering is the only option, and why enumeration of your online state is returned, only to be excluded by the filtering rules Please read: https://github.com/abraunegg/onedrive/blob/master/docs/server-side-filtering-limitations.md |
Beta Was this translation helpful? Give feedback.
-
|
Thank you for your ever fast responses and explanation. I was using nginx to trigger the sync and onedrive running inside a docker container. To the best of my knowledge everything was run as root and the microsoft account was always the same. I will do the steps you just pointed me to and try to set up the weekly runner again, keeping tabs on log output if anything fails. I will get back here in one or two weeks, if either everything works, or i have interesting logs to present. What i do remember from the last time that i tried having a configuration persist over weeks is, that if i didn't run a sync in over a week, the error causing me to be prompted for resync was, that my onedrive account seemed to no longer be authenticated. Again, many thanks for the great reply and i will keep you posted. |
Beta Was this translation helpful? Give feedback.
@lennartjakob
Your description suggests a misunderstanding of how the client operates, particularly with respect to
sync_list.The OneDrive Client for Linux performs client-side filtering, not server-side filtering. This means the client must still enumerate the entire remote directory structure to determine what exists, and then it applies the
sync_listrules locally to decide what should actually be downloaded or ignored. In other words,sync_listdoes not reduce what the Microsoft API returns, it only controls what the client processes locally.Because of this design, the initial scan or a
--resyncwill still require a full online enumeration regardless of yoursync_listconfiguration.R…