I recently found out about Kopia, and I really like it so far. It combines usability and functionality in a nice package and ticks all the checkboxes.
One thing I particularly like is the ability to skip snapshotting when no data was changed. This feature is missing in many backup tools. When using frequent snapshot schedule, and then needing to restore, say, a deleted file, it would be time-consuming to go through all snapshots (imagine over 100 per day) in order to find the file. Or finding actually changed versions of the file.
However, there is one thing I don’t understand about Kopia. My favorite test with backup tools is deleting a file at the destination and seeing what happens. When I did that with Kopia backup, it didn’t detect anything. Upon reading documentation I ran “snapshot verify”. It detected the missing blob. Good, but what do we do now? Subsequent snapshots happily take place without re-uploading the missing bits. The data is still there at the source. It should be a simple problem to fix.
There are several older discussions about the same issue, but no solution. I tried these (one at a time):
snapshot fix remove-files --object-id= --commit
snapshot fix invalid-files --verify-files-percent=100 --commit
It fixes the issue in terms of “snapshot verify” no longer throwing errors, however, a) missing data is not uploaded, b) the next snapshot runs, after which “snapshot verify” throws errors again, and rightfully so since the data is still missing.
I understand due to the nature of snapshots past snapshots won’t have the missing data. But surely there has to be a way to make Kopia back up missing data on the next run?