Currently, I'm using the Windows 8.1 file history backup, but it has a major weakness.
Large files are copied in their entirety each time they change. For instance, I have some virtual machines files of gigabyte size. Each time I run this backup, it saves a full new version of the file, although probably the file just changed a few bytes. This is a HUGE waste.
I want to do some kind of binary/diff incremental backup function, so that each new backups save only the changes in binary files and space requirements are minimized.
How can I do this?
Best Answer
No real answer but some thoughts:
To do an in-place update of some remote copy of your file, you have to first find out which parts of the file have changed or have been added since the last copy. One could maintain a list of checksums for chunks of n megabytes. Without such a list, you have to read the remote copy and the local copy to find the changes.
Drawback of an in-place update would be the inherent risk of data corruption. If the update fails or is aborted, the remote copy is left in an inconsistent state.
The choice of a good replication strategy depends on several parameters:
What is the speed to do this?
The checksum algorithm has to be chosen in such a way that this is sufficiently unlikely.
I think you have a good and valid point in your idea. It would be very practical - for example - to save big Outlook .pst files on a memory stick. However, I am not aware of any tool or method which solves all the obstacles mentioned above.