X-Git-Url: http://git.tuebingen.mpg.de/?p=dss.git;a=blobdiff_plain;f=dss.ggo;h=8f1ec5cf8d3ce50194a81f569b8195eb6562a618;hp=8037373321acbde3327966e9fe997a749b5c01f8;hb=c279f1a5bd474f002f8486aafbfd0b7f0d4e15c3;hpb=c6c724ea61eb12710954d8e2043ca56b54f3e334 diff --git a/dss.ggo b/dss.ggo index 8037373..8f1ec5c 100644 --- a/dss.ggo +++ b/dss.ggo @@ -1,9 +1,9 @@ -# Copyright (C) 2008 Andre Noll +# Copyright (C) 2008-2009 Andre Noll # # Licensed under the GPL v2. For licencing details see COPYING. package "dss" -version "0.0.5" +version "0.1.3" purpose "the dyadic snapshot scheduler dss creates hardlink-based snapshots of a given directory on a remote @@ -77,9 +77,10 @@ option "logfile" - "Logfile for the dss daemon process" string typestr="filename" optional -details=" - This option is mostly useful for the run command if --daemon - is also given. +details = " + This option is only honored if both --run and --daemon are + given. Otherwise it is silently ignored and log output is + written to stderr. " ################## @@ -110,11 +111,17 @@ groupoption "prune" P "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 @@ -133,7 +140,9 @@ groupoption "run" R group="command" details=" This is the main mode of operation. Snapshots will be created - as needed and pruned automatically. + in an endless loop as needed and pruned automatically. The loop + only terminates on fatal errors or if a terminating signal was + received. See also the --exit-hook option. " ############################### @@ -186,6 +195,21 @@ details=" dss. " +option "no-resume" - +#~~~~~~~~~~~~~~~~~~~ +"Do not try to resume from previous runs" +flag off +details = " + Starting from version 0.1.4, dss tries to resume from a + previously cancelled dss instance by default. It does so by + looking at the status of the most recently created snapshot. If + this snapshot status is incomplete, its directory is reused + as the destination directory for a subsequent rsync run. + + The --no-resume option deactivates this feature so that a new + directory is always used as the rsync destination directory. +" + option "rsync-option" O #~~~~~~~~~~~~~~~~~~~~~~ "Further rsync options" @@ -193,8 +217,12 @@ string typestr="option" 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 " ################### @@ -241,6 +269,7 @@ option "pre-create-hook" r #~~~~~~~~~~~~~~~~~~~~~~~~~~ "Executed before snapshot creation" string typestr="command" +default = "/bin/true" optional details=" Execute this command before trying to create a new snapshot. @@ -259,6 +288,7 @@ option "post-create-hook" o #~~~~~~~~~~~~~~~~~~~~~~~~~~ "Executed after snapshot creation" string typestr="command" +default = "/bin/true" optional details=" Execute this after a snapshot has successfully been @@ -271,6 +301,58 @@ details=" store them in a database for further analysis. " +option "pre-remove-hook" - +#~~~~~~~~~~~~~~~~~~~~~~~~~~ +"Executed before snapshot removal" +string typestr="command" +default = "/bin/true" +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" +default = "/bin/true" +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" +string typestr="command" +default = "/bin/true" +optional +details=" + This hook is only used if the --run command was given which + instructs dss to run in an endless loop. The exit-hook gets + executed whenever this endless loop terminates. The reason + for terminating the loop is passed as the first argument. + + One possible application for this hook is to send email to the + system administrator to let her know that no more snapshots + are going to be created. +" + ############################### section "Disk space monitoring" ############################### @@ -332,8 +414,8 @@ details=" 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. "