dirvish is a backup system using rsync and link farms.

Each image is a directory containing transfer log, summary, tree
and if transfer errors were detected an rsync_error file.  The
transfer log retains the the output of any pre and post processing
commands and the rsync log listing all files that were changed or
added with some statistical information.  The summary file contains
all the information about how the image was created and meta-data
for managing the image in config file format. Tree is the copy of
the client tree.

The client directory tree is compared with an existing image to
create a new image. Unchanged files are shared between images.
For changed files only those parts that actually change are transfered
over the network. Unchanged portions of files are copied from the
reference image.

The resulting images contain complete copies of the original trees
preserving ownership and file permissions. In this way even though
the backups are made incrementally, each image can be used
independently for restores or to make removable-media off-site
copies or archives.

The removal of an image will have no effect on other images.

Homepage:
https://dirvish.org/
