DSS

the dyadic snapshot scheduler

dss maintains hardlink-based snapshots of a given directory on a remote or local host using rsync's link-dest feature. The snapshots are organized so that any snapshot can directly be deployed as an (emergency) replacement for the primary system.

dss is admin friendly: It is easy to configure and needs little attention after the initial setup. In particular, no full, incremental or differential backups need to be configured, and there is no database to maintain. dss is also user-friendly: Assuming the snapshot server allows read-only user access over the network, users can restore accidentically removed files without admin intervention, using their favorite file browser to copy files from the snapshot directory back to the primary system.

dss keeps track of the age and the state of existing snapshots and triggers snapshot creation and removal according to the configuration settings. It tries to maintain a scheme where many recent snapshots and few old snapshots exist, for example 16 snapshots newer than a week, 8 snapshots between one and two weeks old, 4 snapshots between two and three weeks old, and so on.

Installation

The easiest way to install dss is to download and run this pre-compiled static binary for x86. It should work fine on all Linux distributions but it won't work on arm systems.

To install from source, you first need to install the dependencies: apt-get install gcc rsync liblopsub-dev m4.

To download the source code, run git clone https://git.tuebingen.mpg.de/dss, or grab a current tarball from the gitweb page and unpack it.

To build the dss executable and the man page, enter the dss source directory and type make. To install both files run sudo make install.

Try dss -h for an overview of all supported command line options, dss --detailed-help for the long help text, or man dss to see the man page which contains example configurations.

Resources