Convert dss to lopsub.
[dss.git] / INSTALL
1 dss is known to compile on Linux, FreeBSD and NetBSD. However, it is
2 run-tested only on Linux.
3
4 Note that [lopsub](http://people.tuebingen.mpg.de/maan/lopsub)
5 is required to compile dss.
6
7 Type
8
9                 make
10
11 in the dss source directory to build the dss executable and copy it
12 to some directory that is included in your PATH, e.g. to `$HOME/bin`
13 or to `/usr/local/bin`.
14
15 Also make sure that [rsync](http://rsync.samba.org/) is installed on
16 your system. Version 2.6.1 or newer is required.
17
18 Examples:
19 ---------
20
21 Suppose you'd like to create snapshots of the existing directory
22
23                 /foo/bar
24
25 in the directory
26
27                 /baz/qux.
28
29 Create the config file
30
31                 ~/.dssrc
32
33 that contains the values for the source and the destination directories
34 as follows:
35
36                 echo 'source-dir "/foo/bar"' > ~/.dssrc
37                 echo 'dest-dir "/baz/qux"' >> ~/.dssrc
38
39 Then execute the commands
40
41                 mkdir /baz/qux
42                 dss run
43
44 In order to print the list of all snapshots created so far, use
45
46                 dss ls
47
48 Yes, it's really that easy.
49
50 The second example involves a slightly more sophisticated config file.
51 It instructs dss to exclude everything which matches at least one
52 pattern of the given exclude file, prevents rsync from crossing file
53 system boundaries and increases the number of snapshots.
54
55                 source-dir "/foo/bar"
56                 dest-dir "/baz/qux"
57                 # exclude files matching patterns in /etc/dss.exclude
58                 rsync-option "--exclude-from=/etc/dss.exclude"
59                 # don't cross filesystem boundaries
60                 rsync-option "--one-file-system"
61                 # maintain 2^6 - 1 = 63 snaphots
62                 num-intervals "6"
63
64 The /etc/dss.exclude file could look like this (see rsync(1) for
65 more examples)
66
67
68                  - /proc
69                  - /**/tmp/
70
71 Note that dss supports many more features and config options such
72 as taking snapshots from remote hosts and several hooks that are
73 executed on certain events, for example whenever a snapshot was
74 created successfully. Try
75
76                 dss -h
77
78 for an overview of all supported command line options or
79
80                 dss --detailed-help
81
82 for the full help text.