1 dss is known to compile on Linux, FreeBSD and NetBSD. However, it is
2 run-tested only on Linux.
4 Note that [lopsub](http://people.tuebingen.mpg.de/maan/lopsub)
5 is required to compile dss.
11 in the dss source directory to build the dss executable and the man
12 page. If lopsub is installed in a non-standard path, you may need to
13 run `make` as follows:
15 make CPPFLAGS=-I$HOME/lopsub/include LDFLAGS=-L$HOME/lopsub/lib
21 to install in /usr/local, or
23 make install PREFIX=/somewhere/else
25 to install in /somewhere/else.
27 Also make sure that [rsync](https://rsync.samba.org/) is installed on
28 your system. Version 2.6.1 or newer is required.
33 Suppose you'd like to create snapshots of the existing directory
41 Create the config file
45 that contains the values for the source and the destination directories
48 echo 'source-dir "/foo/bar"' > ~/.dssrc
49 echo 'dest-dir "/baz/qux"' >> ~/.dssrc
51 Then execute the commands
56 In order to print the list of all snapshots created so far, use
60 Yes, it's really that easy.
62 The second example involves a slightly more sophisticated config file.
63 It instructs dss to exclude everything which matches at least one
64 pattern of the given exclude file, prevents rsync from crossing file
65 system boundaries and increases the number of snapshots.
69 # exclude files matching patterns in /etc/dss.exclude
70 rsync-option "--exclude-from=/etc/dss.exclude"
71 # don't cross filesystem boundaries
72 rsync-option "--one-file-system"
73 # maintain 2^6 - 1 = 63 snapshots
76 The /etc/dss.exclude file could look like this (see rsync(1) for
83 Note that dss supports many more features and config options such
84 as taking snapshots from remote hosts and several hooks that are
85 executed on certain events, for example whenever a snapshot was
86 created successfully. Try
90 for an overview of all supported command line options or
94 for the full help text.