]> git.tuebingen.mpg.de Git - dss.git/blobdiff - dss.suite
Merge branch 'refs/heads/t/prune'
[dss.git] / dss.suite
index 1e798702676106238c180879889957d7913c2056..f9cf8af5993345452fddc7b3d9790d0d7e6d7a13 100644 (file)
--- a/dss.suite
+++ b/dss.suite
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0
+
 [suite dss]
 caption = Subcommands
 
 [suite dss]
 caption = Subcommands
 
@@ -60,13 +62,15 @@ caption = Subcommands
                typestr = dirname
                arg_info = required_arg
                arg_type = string
                typestr = dirname
                arg_info = required_arg
                arg_type = string
+               flag multiple
                [help]
                        The directory on the remote host from which snapshots are taken.
                        Of course, the user specified as --remote-user must have read access
                        to this directory.
 
                [help]
                        The directory on the remote host from which snapshots are taken.
                        Of course, the user specified as --remote-user must have read access
                        to this directory.
 
-                       This option is mandatory for the create and run subcommands: It must
-                       be given at the command line or in the config file.
+                       This option is mandatory for the create and run subcommands: It may
+                       be given multiple times to specify more than one source directory.
+                       However, all source directories must reside on the same server.
                [/help]
        [option dest-dir]
                summary = where snapshots are stored
                [/help]
        [option dest-dir]
                summary = where snapshots are stored
@@ -78,6 +82,7 @@ caption = Subcommands
                        written. This must be writable by the user who runs dss.
 
                        This option is mandatory for all subcommands except kill.
                        written. This must be writable by the user who runs dss.
 
                        This option is mandatory for all subcommands except kill.
+                       Unlike --source-dir, this option may only be given once.
                [/help]
        [option mountpoint]
                summary = abort if destination directory is not a mountpoint
                [/help]
        [option mountpoint]
                summary = abort if destination directory is not a mountpoint
@@ -445,19 +450,38 @@ caption = Subcommands
                snapshots.
        [/description]
 [subcommand prune]
                snapshots.
        [/description]
 [subcommand prune]
-       purpose = remove redundant and outdated snapshots
+       purpose = remove snapshots
        [description]
        [description]
-               A snapshot is considered outdated if its interval number is greater or
-               equal than the specified number of unit intervals. See --unit-interval
-               and --num-intervals above.
-
-               A snapshot is said to be redundant if the interval it belongs to
-               contains more than the configured number of snapshots.
-
-               The prune command gets rid of both outdated and redundant snapshots. At
-               most one snapshot is removed per invocation. If --dry-run is given, the
-               subcommand only prints the snapshot that would be removed.
+               A snapshot is said to be (a) outdated if its interval number is greater
+               or equal than the specified number of unit intervals, (b) redundant if
+               the interval it belongs to contains more than the configured number of
+               snapshots, and (c) orphaned if it is incomplete and not being created
+               or deleted. All other snapshots are called regular.
+
+               Unless --dry-run is given, which just prints the snapshot that would be
+               removed, this subcommand gets rid of non-regular snapshots.  At most
+               one snapshot is removed per invocation. If no such snapshot exists
+               and disk space is low, the subcommand also removes regular snapshots,
+               always picking the oldest one.
+
+               The subcommand fails if there is another dss "run" process.
        [/description]
        [/description]
+       [option disk-space]
+               summary = act as if free disk space was high/low
+               arg_info = required_arg
+               arg_type = string
+               typestr = mode
+               values = {
+                       FDS_CHECK = "check",
+                       FDS_HIGH = "high",
+                       FDS_LOW = "low"
+               }
+               default_val = check
+               [help]
+                       By default, free disk space is checked and even regular snapshots
+                       become candidates for removal if disk space is low. This option
+                       overrides the result of the check.
+               [/help]
 [subcommand ls]
        purpose = print the list of all snapshots
        [description]
 [subcommand ls]
        purpose = print the list of all snapshots
        [description]
@@ -487,6 +511,27 @@ caption = Subcommands
 
                        Sending SIGHUP causes the running dss process to reload its config file.
                [/help]
 
                        Sending SIGHUP causes the running dss process to reload its config file.
                [/help]
+       [option wait]
+               short_opt = w
+               summary = wait until the signalled process has terminated
+               [help]
+                       This option is handy for system shutdown scripts which would like
+                       to terminate the dss daemon process.
+
+                       Without --wait the dss process which executes the kill subcommand
+                       exits right after the kill(2) system call returns. At this point the
+                       signalled process might still be alive (even if SIGKILL was sent).
+                       If --wait is given, the process waits until the signalled process
+                       has terminated or the timeout expires.
+
+                       If --wait is not given, the kill subcommand exits successfully if
+                       and only if the signal was sent (i.e., if there exists another dss
+                       process to receive the signal). With --wait it exits successfully
+                       if, additionally, the signalled process has terminated before the
+                       timeout expires.
+
+                       It makes only sense to use the option for signals which terminate dss.
+               [/help]
 [subcommand configtest]
        purpose = run a configuration file syntax test
        [description]
 [subcommand configtest]
        purpose = run a configuration file syntax test
        [description]