Rdiff-backup is an implementation of the rsync algorithm which combines the benefits of both mirroring and increments. It does this by keeping a mirror of the most current backup intact in the backup directory and then creating patches for each changed file so that each increment can be reached at any time.
Over time, with enough file changes and enough backups, the increments will take up a lot of space. This can be cleared with the argument --remove-older-than.
There is incredible precision to what degree you want to remove old increments. It is passed as a single, non-spaced argument with all the different units of time:
|argument||unit of time|
These can be combined to make more specific timeframes, such as:
3D12h30m -- 3 days, 12 hours, 30 minutes
Difference between backups and archives
Few people make the distinction between Archives and Backups like MineOS does. There is a fundamental difference between these two, despite them often being used interchangeably.
The easiest way to understand the distinction between an archive and a backup is the format of an archive. File formats such as .tar are archive formats that simply combine multiple files into one consolidated file. Doing so has many benefits such as fewer file counts, less inode usage, less fragmentation and cluster waste. On the other hand, archived files are not usable in archive form (just like you have to extract a .zip file before you can access its contents).
Using the rdiff-backup algorithm creates a full miirrored backup of a directory. As a result, this results in at least a +100% use of space. However, because not all files change between backups, files that do not change do not have to be backed up again, which ultimately saves space over repeated backups. Incremental backups using rdiff-backup on files that have relatively low changes (in file count) will save a lot of space in the long run versus accumulating archives.
A full example can be seen in the gray-background area of MineOS Advanced Features Page.