-# Copyright (C) 2008 Andre Noll <maan@systemlinux.org>
+# Copyright (C) 2008-2009 Andre Noll <maan@systemlinux.org>
#
# Licensed under the GPL v2. For licencing details see COPYING.
package "dss"
-version "0.1.1"
+version "0.1.3"
purpose "the dyadic snapshot scheduler
dss creates hardlink-based snapshots of a given directory on a remote
"Remove redundant and outdated snapshots"
group="command"
details="
- A snapshot is considered outdated if it belongs to an interval
- greater than the maximum number of intervals. It is said to be
- redundant if it belongs to an interval that already contains
- more than the desired number of snapshots. This command gets
- rid of such snapshots.
+ A snapshot is considered outdated if its interval number
+ is greater or equal than the specified number of unit
+ intervals. See the \"Intervals\" section below for the precise
+ definition of these terms.
+
+ A snapshot is said to be redundant if it belongs to an
+ interval that already contains more than the desired number
+ of snapshots.
+
+ The prune command gets rid of both outdated and redundant
+ snapshots.
"
groupoption "ls" L
optional
multiple
details="
- These option may be given multiple times. The arguments passed
- to that option are passed verbatim to the rsync command.
+ This option may be given multiple times. The given argument is
+ passed verbatim to the rsync command. Note that in order to use
+ rsync options that require an argument, you have to specify the
+ option and its argument as separate --rsync-options, like this:
+
+ --rsync-option --exclude --rsync-option /proc
"
###################
store them in a database for further analysis.
"
+option "pre-remove-hook" -
+#~~~~~~~~~~~~~~~~~~~~~~~~~~
+"Executed before snapshot removal"
+string typestr="command"
+optional
+details="
+ Execute this command before removing a snapshot. The full
+ path to the snapshot about to be deleted is passed to the
+ command as the first argument. If the command returns with
+ a non-zero exit status, no snapshot is being removed and the
+ operation is retried later.
+
+ For example, one might want to execute a script that checks
+ whether the snapshot to be deleted is currently used by
+ another process, e.g. by a tape-based backup system that runs
+ concurrently to dss.
+
+ Another possible application of this is to record disk-usage
+ patterns before and after snapshot removal.
+"
+
+option "post-remove-hook" -
+#~~~~~~~~~~~~~~~~~~~~~~~~~~
+"Executed after snapshot removal"
+string typestr="command"
+optional
+details="
+ Execute this after a snapshot has successfully been removed. As
+ for the pre-remove hook, the full path of the removed snapshot
+ is passed to the hook as the first argument. The exit code
+ of this hook is ignored.
+"
+
option "exit-hook" e
#~~~~~~~~~~~~~~~~~~~
"Executed if run command exits"
If this flag is not given dss removes redundant and outdated
snapshots automatically.
- Otherwise, this feature is deactivated so that snapshots
- are only being removed in case disk space or inode ratio
+ Otherwise, this feature is deactivated so that snapshots are
+ only being removed in case disk space or number of free inodes
becomes low. Use this flag if the file system containing the
destination directory is used for snapshots only.
"