Summary
hg Use ID
backup and synchronization between multiple locations
Download as zip

Morevna

A backup and synchronization script. Uses rdiff-backup to back up data to a LUKS container and synchronizes its updates across devices.

morevna.sh runs the top level operations (consider it my example configuration), morevna.py is responsible for the synchronization.

Because the objective is to store an opaque container without necessarily trusting the device, it is troublesome to effectively propagate the changes. But we know that the data are internally aligned to blocks. Therefore we hash the entire file block by block, build a hash tree over the leaves and compare the client and server trees to determine which blocks to transmit.

In my use (8GB container stored on a magnetic hard drive) the main performance bottleneck is reading the entire file.