Forum Discussion
MacOS Monterey - Disable Files on Demand
- Jan 03, 2022That sounds strange. I would expect it to be one or the other as you say. On my own Mac running Monterey I cannot duplicate your issue. As you say, you can't disable FOD from the OneDrive client settings but you should be able to do this with a PList as per https://docs.microsoft.com/en-us/onedrive/deploy-and-configure-on-macos#filesondemandenabled
I have a 2020 mac mini that I recently updated OneDrive on and also ran in to this issue. I use CloudBerry to back up my OneDrive folder so it's very useful to be able to disable files on demand.
I did find the option to right click on the top level folder and select always keep on this device, but that didn't seem to work as expected.
My silly solution is to first set the top level folder to always keep on this device and to then run a recursive md5 check sum on every file in the OneDrive folder.
find . -type f -exec md5 '{}' \;
After the md5 check sum finished each file no longer showed the cloud icon and only showed the always available on this device icon. I was also then able to successfully run a backup of the folder.
This isn't my favorite solution, but it seems to be working. I though others mind find this useful.
BTW my 2015 mac book pro hasn't gotten the most recent update to OneDrive that changed the behavior of disabling files on demand.
TAIngalls Thanks! your MD5 trick worked for me to fix the two icons issue, but it takes a long time to run. Do you know of another command that could do the same thing but a bit faster? I have 150 Gb of small (node.js etc) files to get through.
- TAIngallsJan 31, 2022Copper Contributor
The first time that you run the find with md5 it will take quite a long time. After the first long run you should be able to run the following that only scans items modified within the last day. I did see that someone else ran "head -n 1" instead to only read the first line of each file. I chose to go with md5 since I wasn't sure if something like the head command would have issues with binary files or not.
find /Users/USERNAME/OneDrive/ -type f -newermt $(date -v -1d +'%Y-%m-%d') -exec md5 '{}' \;
- S_FitzgeraldJan 31, 2022Copper ContributorThanks, that sounds like a good approach until MS fixes this, or I find another cloud sync service.
- garethoakes1Jan 31, 2022Copper Contributor
TAIngalls this worked perfectly for me, no issues with binary files and quite fast:
find . -type f -exec head -c 1 {} \;