5 in the dss source directory to build the dss executable and copy it
6 to some directory that is included in your PATH, e.g. to `$HOME/bin`
7 or to `/usr/local/bin`.
10 gengetopt](https://www.gnu.org/software/gengetopt/gengetopt.html)
11 is required to compile dss.
17 to create the man page of dss. This invokes help2man so make sure
18 that help2man is installed on your system. Note that the man page is
19 just the nroff variant of the output of `dss --detailed-help`.
21 dss is known to compile on Linux, MacOS, Solaris, FreeBSD and
22 NetBSD. However, it is run-tested only on Linux.
24 Also make sure that [rsync](http://rsync.samba.org/) is installed on
25 your system. Version 2.6.1 or newer is required.
30 Suppose you'd like to create snapshots of the existing directory
38 Create the config file
42 that contains the values for the source and the destination directories
45 echo 'source-dir "/foo/bar"' > ~/.dssrc
46 echo 'dest-dir "/baz/qux"' >> ~/.dssrc
48 Then execute the commands
53 In order to print the list of all snapshots created so far, use
57 Yes, it's really that easy.
59 The second example involves a slightly more sophisticated config file.
60 It instructs dss to exclude everything which matches at least one
61 pattern of the given exclude file, prevents rsync from crossing file
62 system boundaries and increases the number of snapshots.
66 # exclude files matching patterns in /etc/dss.exclude
67 rsync-option "--exclude-from=/etc/dss.exclude"
68 # don't cross filesystem boundaries
69 rsync-option "--one-file-system"
70 # maintain 2^6 - 1 = 63 snaphots
73 The /etc/dss.exclude file could look like this (see rsync(1) for
80 Note that dss supports many more features and config options such
81 as taking snapshots from remote hosts and several hooks that are
82 executed on certain events, for example whenever a snapshot was
83 created successfully. Try
87 for an overview of all supported command line options or
91 for the full help text.