Backblaze Wont Back Up OneDrive Folders Because Reparsepoints Exist
Just a tiny bit of back story…
I have my OneDrive folder pointed at D:\OneDrive
and all of my life’s photos are in D:\OneDrive\Pictures
. When I snap a picture with my iPhone, the OneDrive app uploads it to the cloud, and my desktop machine’s OneDrive app subsequently downloads it.
Now, being the paranoid person I am about losing data due to ransomware (.5% chance), losing a hard drive (4.5% chance), or my own stupity (95% chance) I also pay for a Backblaze subscription. It backs up the entire C and D drives (save for a few exempted folders/file types like .vhdx, .iso, C:\Temp, etc.)
My 2-year Backblaze subscription just renewed the other day so I popped open the desktop app just to “check things out” as one does. I immediately noticed that the amount of files it’s backing up is suspiciously low.
Okay, something’s up…So I logged into the Backblaze website and folder-by-folder I started comparing what had been backed up with what I have on disk. Low and behold, I saw that my OneDrive Pictures folder is not being backed up.
Pictures/Videos are the #1 reason why I pay for backup software in the first place.
A tiny bit of panic sets in, but then I realized “hey, it’s probably been like this for a long time” at which point I properly freaked out.
WHAT. THE. FUCK. Okay, calm down. Let’s fix this.
A little bit of research (which is a fancy way of saying “Googling”) on Backblaze/OneDrive issues will turn up a Backblaze support document.
OneDrive has a setting where it will only store some files locally on disk, and it will download files from the cloud as-needed. Obviously for backup software to work, you need to have all the files locally on disk. Fortunately there’s a checkbox for this:
In my case, I’d already done this long go.
Meet “Reparsepoints”
The support document gives us a command to see if we’re suffering from Reparsepoints
PS C:\Users\CW> Get-ChildItem -Path D:\OneDrive -Directory -Name -Recurse -Attributes Reparsepoint
I’d never heard of a Reparsepoint, so after more “research” and running the Backblaze script I found I did have some…but only on the D-drive. The C-drive was fine.
Backblaze mentions that you may need to “Remove Reparsepoints” and to “Reach out to Microsoft for assistance” with a generic contact-us hyperlink to Microsoft. We all know that’s a dead end for all practical purposes. They lead the horse to water, but that’s it. I understand why; customers are going to “research” and run the first command they find. And then they’ll bitch to Backblaze about how all their files are corrupt after running <some random PowerShell command>.
I’ll admit, I was scared to run some of the things I came across. After all, these are MY files. You know what’s way safer than running a rando PowerShell command you found on the internet? Literally anything else.
I took a safe approach to this; I started with the “Misc” folder. If I lost everything in there I wouldn’t bat an eye. So here’s what I did. I made a copy of that folder (for real, just Ctrl-C/Ctrl-V
). I re-ran the PowerShell script provided in Backlaze’s documentation and found that my new folder did NOT have the Reparsepoints. Progress? I think so…
So then I deleted the old “Misc” folder, and renamed “Misc - Copy” back to the original “Misc” and watched to see what happened.
I re-ran the PowerShell script yet again and saw that the “Misc” folder was no longer in the offender’s list. Cool. Then I saw Backblaze upload the Misc folder.
Success?
Success indeed!
My final test was to make a copy of the entire D:\OneDrive\Pictures
folder. If you do this, make sure you copy the folder to somewhere outside your OneDrive folder. This took many hours (reading/writing 500+GB to/from a traditional hard drive is not fast).
Once completed, I moved D:\OneDrive\Pictures
folder to D:\Temp
, and then moved the new “Copy” back to D:\OneDrive\Pictures
. These moves were fast since Windows only has to update file location pointers.
One final re-run of the PowerShell script showed that I no longer had reparsepoints in D:\OneDrive\Pictures
. For my own sanity I left the original Pictures folder in the D:\Temp folder.
(Backblaze doesn’t back up the Temp folder by default and it’s also outside the OneDrive folder so I didn’t have to worry about a 2nd copy of files getting uploaded anywhere)
I fired up Backblaze again and it began uploading my missing Pictures folder. Several days of pegged 11Mbps upload speed (my ISP limit, not Backblaze) and I was finally caught up.
So, I guess I wrote all that to say, “Even if you’re backing up your files, make sure you’re actually backing up your files.”
Trust a file restoration, not a file backup. –Chris