]> git.tuebingen.mpg.de Git - dss.git/blobdiff - INSTALL
dss: Make argument of parse_config_file() a boolean.
[dss.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index 1043ec514884e406adf75dc91678fc8ef1bed775..db3d1c56386bb4c117c333adbe84c4694664c9e9 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -1,67 +1,91 @@
 Type
 
 Type
 
-       make
+               make
 
 
-in the dss source directory to build the dss executable and copy it to
-some directory that is included in your PATH, e.g. to $HOME/bin or to
-/usr/local/bin.
+in the dss source directory to build the dss executable and copy it
+to some directory that is included in your PATH, e.g. to `$HOME/bin`
+or to `/usr/local/bin`.
 
 
-Note that you'll likely need a recent version of
-ftp://ftp.gnu.org/pub/gnu/gengetopt/ (gnu gengetopt) to compile dss.
+Note that [gnu
+gengetopt](https://www.gnu.org/software/gengetopt/gengetopt.html)
+is required to compile dss.
 
 Optionally, type
 
 
 Optionally, type
 
-        make man
+                make man
 
 to create the man page of dss. This invokes help2man so make sure
 that help2man is installed on your system. Note that the man page is
 
 to create the man page of dss. This invokes help2man so make sure
 that help2man is installed on your system. Note that the man page is
-just the nroff variant of the output of "dss --detailed-help".
+just the nroff variant of the output of `dss --detailed-help`.
 
 dss is known to compile on Linux, MacOS, Solaris, FreeBSD and
 NetBSD. However, it is run-tested only on Linux.
 
 
 dss is known to compile on Linux, MacOS, Solaris, FreeBSD and
 NetBSD. However, it is run-tested only on Linux.
 
-Also make sure that http://rsync.samba.org/ (rsync) is installed on
+Also make sure that [rsync](http://rsync.samba.org/) is installed on
 your system. Version 2.6.1 or newer is required.
 
 your system. Version 2.6.1 or newer is required.
 
-Example:
---------
+Examples:
+---------
 
 Suppose you'd like to create snapshots of the existing directory
 
 
 Suppose you'd like to create snapshots of the existing directory
 
-       /foo/bar
+               /foo/bar
 
 in the directory
 
 
 in the directory
 
-       /baz/qux.
+               /baz/qux.
 
 Create the config file
 
 
 Create the config file
 
-       ~/.dssrc
+               ~/.dssrc
 
 that contains the values for the source and the destination directories
 as follows:
 
 
 that contains the values for the source and the destination directories
 as follows:
 
-       echo 'source-dir "/foo/bar"' > ~/.dssrc
-       echo 'dest-dir "/baz/qux"' >> ~/.dssrc
+               echo 'source-dir "/foo/bar"' > ~/.dssrc
+               echo 'dest-dir "/baz/qux"' >> ~/.dssrc
 
 Then execute the commands
 
 
 Then execute the commands
 
-       mkdir /baz/qux
-       dss --run
+               mkdir /baz/qux
+               dss --run
 
 In order to print the list of all snapshots created so far, use
 
 
 In order to print the list of all snapshots created so far, use
 
-       dss --list
+               dss --ls
 
 
-Yes, it's really that easy. Of course, dss supports many more
-features and config options such as taking snapshots from remote
-hosts and several hooks that are executed on certain events, for
-example whenever a snapshot was created successfully.  Try
+Yes, it's really that easy.
 
 
-       dss -h
+The second example involves a slightly more sophisticated config file.
+It instructs dss to exclude everything which matches at least one
+pattern of the given exclude file, prevents rsync from crossing file
+system boundaries and increases the number of snapshots.
+
+               source-dir "/foo/bar"
+               dest-dir "/baz/qux"
+               # exclude files matching patterns in /etc/dss.exclude
+               rsync-option "--exclude-from=/etc/dss.exclude"
+               # don't cross filesystem boundaries
+               rsync-option "--one-file-system"
+               # maintain 2^6 - 1 = 63 snaphots
+               num-intervals "6"
+
+The /etc/dss.exclude file could look like this (see rsync(1) for
+more examples)
+
+
+                - /proc
+                - /**/tmp/
+
+Note that dss supports many more features and config options such
+as taking snapshots from remote hosts and several hooks that are
+executed on certain events, for example whenever a snapshot was
+created successfully. Try
+
+               dss -h
 
 for an overview of all supported command line options or
 
 
 for an overview of all supported command line options or
 
-       dss --detailed-help
+               dss --detailed-help
 
 for the full help text.
 
 for the full help text.