X-Git-Url: http://git.tuebingen.mpg.de/?p=dss.git;a=blobdiff_plain;f=INSTALL;h=8c70c34a20e57cb6e87ab47e97391ff297ed1609;hp=8dd3846bb3cd8aa5c4264b84c2ef6756fed2f991;hb=96c620fcf383faffb16c89c2ddd9b0857de6dfbb;hpb=8400c35d9158b420d99f20c54353bbf0b4a62b8b diff --git a/INSTALL b/INSTALL index 8dd3846..8c70c34 100644 --- a/INSTALL +++ b/INSTALL @@ -1,59 +1,94 @@ +dss is known to compile on Linux, FreeBSD and NetBSD. However, it is +run-tested only on Linux. + +Note that [lopsub](http://people.tuebingen.mpg.de/maan/lopsub) +is required to compile dss. + Type - make + make + +in the dss source directory to build the dss executable and the man +page. If lopsub is installed in a non-standard path, you may need to +run `make` as follows: + + make CPPFLAGS=-I$HOME/lopsub/include LDFLAGS=-L$HOME/lopsub/lib + +Then type + + sudo make install -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. +to install in /usr/local, or -Note that you'll likely need a recent version of -ftp://ftp.gnu.org/pub/gnu/gengetopt/ (gnu gengetopt) to compile dss. + make install PREFIX=/somewhere/else -dss is known to compile on Linux, MacOS, Solaris, FreeBSD and -NetBSD. However, it is run-tested only on Linux. +to install in /somewhere/else. -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. -Example: --------- +Examples: +--------- Suppose you'd like to create snapshots of the existing directory - /foo/bar + /foo/bar in the directory - /baz/qux. + /baz/qux. Create the config file - ~/.dssrc + ~/.dssrc 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 - mkdir /baz/qux - dss --run + mkdir /baz/qux + dss run In order to print the list of all snapshots created so far, use - dss --list + dss ls + +Yes, it's really that easy. + +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/ -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 +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 + dss -h for an overview of all supported command line options or - dss --detailed-help + dss --detailed-help for the full help text.