X-Git-Url: http://git.tuebingen.mpg.de/?p=dss.git;a=blobdiff_plain;f=dss.ggo;h=6e222d27727a8e201e825e234213426662a8cb64;hp=e91a4c5b90d4fd7ca015f77bf3264ff06e0e6b03;hb=e20dedbac369be3f69cc56221730fe2ee41e745c;hpb=cbd7c2d1bf41d2c14ace21b75b2362e8b151f99b diff --git a/dss.ggo b/dss.ggo index e91a4c5..6e222d2 100644 --- a/dss.ggo +++ b/dss.ggo @@ -29,9 +29,6 @@ details=" file override any options that were previously given at the command line. This allows to change the configuration of a running dss process on the fly by sending SIGHUP. - - Note that it is not possible to change whether dss runs as - background daemon by sending SIGHUP. " option "daemon" d @@ -43,6 +40,9 @@ details=" Note that dss refuses to start in daemon mode if no logfile was specified. This option is mostly useful in conjuction with the -R option described below. + + Note that it is not possible to change whether dss runs as + background daemon by sending SIGHUP. " option "dry-run" D @@ -66,7 +66,7 @@ int typestr="level" default="3" optional details=" - Lower values mean less verbose logging. + Lower values mean more verbose logging. " option "logfile" - @@ -82,8 +82,9 @@ details=" defgroup "command" #================= groupdesc=" - dss supports a couple of commands each of which corresponds to a different - command line option. Exactly one of these options must be given. + dss supports a couple of commands each of which corresponds + to a different command line option. Exactly one of these + options must be given. " required @@ -92,9 +93,10 @@ groupoption "create" C "Create a new snapshot" group="command" details=" - Execute the rsync command to create a new snapshot. Note that this - command does not care about free disk space. + Execute the rsync command to create a new snapshot. Note that + this command does not care about free disk space. " + groupoption "prune" P #~~~~~~~~~~~~~~~~~~~~ "Remove a redundant snapshot" @@ -157,7 +159,7 @@ option "source-dir" - #~~~~~~~~~~~~~~~~~~~~ "The data directory" string typestr="dirname" -optional +required details=" The directory on the remote host from which snapshots are taken. Of course, the user specified as --remote-user must @@ -168,7 +170,7 @@ option "dest-dir" - #~~~~~~~~~~~~~~~~~~ "Snapshot dir" string typestr="dirname" -optional +required details=" The destination directory on the local host where snapshots will be written. This must be writable by the user who runs @@ -203,29 +205,21 @@ int typestr="days" default="4" optional details=" - dss snapshot aging is implemented in terms of intervals. There are - two command line options related to intervals: the duration of a - \"unit\" interval and the number of those unit intervals. - - dss removes any snapshots older than the given number of intervals - times the duration of a unit interval and tries to keep the following - number of snapshots per interval: - - interval number number of snapshots - =============================================== - 0 2 ^ (num-intervals - 1) - 1 2 ^ (num-intervals - 2) - 2 2 ^ (num-intervals - 3) - ... - num-intervals - 2 2 - num-intervals - 1 1 - num-intervals 0 - - In other words, the oldest snapshot will at most be unit_interval * - num_intervals old (= 5 days * 4 = 20 days if default values are used). - Moreover, there are at most 2^num_intervals - 1 snapshots in total - (i. e. 31 by default). Observe that you have to create at least - 2 ^ (num_intervals - 1) snapshots each interval for this to work out. + dss snapshot aging is implemented in terms of intervals. There + are two command line options related to intervals: the + duration u of a \"unit\" interval and the number n of those + unit intervals. + + dss removes any snapshots older than n times u and tries to + keep 2^(k-1) snapshots in interval k, where the interval number + k counts from zero, zero being the most recent unit interval. + + In other words, the oldest snapshot will at most be u * n days + (= 20 days if default values are used) old. Moreover, there + are at most 2^n - 1 snapshots in total (i. e. 31 by default). + Observe that you have to create at least 2 ^ (n - 1) snapshots + each interval for this to work out because that is the number + of snapshots in interval zero. " option "num-intervals" n @@ -243,29 +237,34 @@ 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. - If this command returns with a non-zero exit status, do not - perform the backup. One possible application of this is to - return non-zero during office hours in order to not slow down - the file systems by taking snapshots. -" + If this command returns with a non-zero exit status, no + snapshot is being created and the operation is retried later. + + For example, one might want to execute a script that checks + whether all snapshot-related file systems are properly mounted. + Another possible application of this is to return non-zero + during office hours in order to not slow down the file systems + by taking snapshots. +" 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 created - The return value on the command is ignored. For instance one - could count the number of files per user and/or the disk - usage patterns in order to store them in a database for - further treatment. + Execute this after a snapshot has successfully been + created. The full path of the newly created snapshot is passed + to the hook as the first argument. The return value of that + hook is ignored. + + For instance this hook can be used to count the number of + files per user and/or the disk usage patterns in order to + store them in a database for further treatment. " ###############################