1// Code generated by gen-restic-cmds; DO NOT EDIT.
2// Source: restic 0.18.1 compiled with go1.25.6 X:nodwarf5 on linux/amd64
3
4package restic
5
6// Commands maps restic command names to their parsed man-page definitions.
7// The "global" entry contains flags common to all commands.
8var Commands = map[string]Command{
9 "backup": {
10 Name: "backup",
11 Description: "Create a new backup of files and/or directories",
12 Options: []Option{
13 {Name: "dry-run", Alias: "n", Default: "false", Description: "do not upload or write any data, just show what would be done", Repeatable: false, IsBool: true},
14 {Name: "exclude", Alias: "e", Default: "", Description: "exclude a pattern (can be specified multiple times)", Repeatable: true, IsBool: false},
15 {Name: "exclude-caches", Alias: "", Default: "false", Description: "excludes cache directories that are marked with a CACHEDIR.TAG file. See https://bford.info/cachedir/ for the Cache Directory Tagging Standard", Repeatable: false, IsBool: true},
16 {Name: "exclude-file", Alias: "", Default: "", Description: "read exclude patterns from a file (can be specified multiple times)", Repeatable: true, IsBool: false},
17 {Name: "exclude-if-present", Alias: "", Default: "", Description: "takes filename[:header], exclude contents of directories containing filename (except filename itself) if header of that file is as provided (can be specified multiple times)", Repeatable: true, IsBool: false},
18 {Name: "exclude-larger-than", Alias: "", Default: "", Description: "max size of the files to be backed up (allowed suffixes: k/K, m/M, g/G, t/T)", Repeatable: false, IsBool: false},
19 {Name: "files-from", Alias: "", Default: "", Description: "read the files to backup from file (can be combined with file args; can be specified multiple times)", Repeatable: true, IsBool: false},
20 {Name: "files-from-raw", Alias: "", Default: "", Description: "read the files to backup from file (can be combined with file args; can be specified multiple times)", Repeatable: true, IsBool: false},
21 {Name: "files-from-verbatim", Alias: "", Default: "", Description: "read the files to backup from file (can be combined with file args; can be specified multiple times)", Repeatable: true, IsBool: false},
22 {Name: "force", Alias: "f", Default: "false", Description: "force re-reading the source files/directories (overrides the \"parent\" flag)", Repeatable: false, IsBool: true},
23 {Name: "group-by", Alias: "g", Default: "host,paths", Description: "group snapshots by host, paths and/or tags, separated by comma (disable grouping with '')", Repeatable: false, IsBool: false},
24 {Name: "help", Alias: "h", Default: "false", Description: "help for backup", Repeatable: false, IsBool: true},
25 {Name: "host", Alias: "H", Default: "", Description: "set the hostname for the snapshot manually (default: $RESTIC_HOST). To prevent an expensive rescan use the \"parent\" flag", Repeatable: false, IsBool: false},
26 {Name: "iexclude", Alias: "", Default: "", Description: "same as --exclude pattern but ignores the casing of filenames", Repeatable: true, IsBool: false},
27 {Name: "iexclude-file", Alias: "", Default: "", Description: "same as --exclude-file but ignores casing of filenames in patterns", Repeatable: true, IsBool: false},
28 {Name: "ignore-ctime", Alias: "", Default: "false", Description: "ignore ctime changes when checking for modified files", Repeatable: false, IsBool: true},
29 {Name: "ignore-inode", Alias: "", Default: "false", Description: "ignore inode number and ctime changes when checking for modified files", Repeatable: false, IsBool: true},
30 {Name: "no-scan", Alias: "", Default: "false", Description: "do not run scanner to estimate size of backup", Repeatable: false, IsBool: true},
31 {Name: "one-file-system", Alias: "x", Default: "false", Description: "exclude other file systems, don't cross filesystem boundaries and subvolumes", Repeatable: false, IsBool: true},
32 {Name: "parent", Alias: "", Default: "", Description: "use this parent snapshot (default: latest snapshot in the group determined by --group-by and not newer than the timestamp determined by --time)", Repeatable: false, IsBool: false},
33 {Name: "read-concurrency", Alias: "", Default: "0", Description: "read n files concurrently (default: $RESTIC_READ_CONCURRENCY or 2)", Repeatable: false, IsBool: false},
34 {Name: "skip-if-unchanged", Alias: "", Default: "false", Description: "skip snapshot creation if identical to parent snapshot", Repeatable: false, IsBool: true},
35 {Name: "stdin", Alias: "", Default: "false", Description: "read backup from stdin", Repeatable: false, IsBool: true},
36 {Name: "stdin-filename", Alias: "", Default: "stdin", Description: "filename to use when reading from stdin", Repeatable: false, IsBool: false},
37 {Name: "stdin-from-command", Alias: "", Default: "false", Description: "interpret arguments as command to execute and store its stdout", Repeatable: false, IsBool: true},
38 {Name: "tag", Alias: "", Default: "", Description: "add tags for the new snapshot in the format tag[,tag,...] (can be specified multiple times)", Repeatable: true, IsBool: false},
39 {Name: "time", Alias: "", Default: "", Description: "time of the backup (ex. '2012-11-01 22:08:41') (default: now)", Repeatable: false, IsBool: false},
40 {Name: "with-atime", Alias: "", Default: "false", Description: "store the atime for all files and directories", Repeatable: false, IsBool: true},
41 },
42 },
43 "cache": {
44 Name: "cache",
45 Description: "Operate on local cache directories",
46 Options: []Option{
47 {Name: "cleanup", Alias: "", Default: "false", Description: "remove old cache directories", Repeatable: false, IsBool: true},
48 {Name: "help", Alias: "h", Default: "false", Description: "help for cache", Repeatable: false, IsBool: true},
49 {Name: "max-age", Alias: "", Default: "30", Description: "max age in days for cache directories to be considered old", Repeatable: false, IsBool: false},
50 {Name: "no-size", Alias: "", Default: "false", Description: "do not output the size of the cache directories", Repeatable: false, IsBool: true},
51 },
52 },
53 "cat": {
54 Name: "cat",
55 Description: "Print internal objects to stdout",
56 Options: []Option{
57 {Name: "help", Alias: "h", Default: "false", Description: "help for cat", Repeatable: false, IsBool: true},
58 },
59 },
60 "check": {
61 Name: "check",
62 Description: "Check the repository for errors",
63 Options: []Option{
64 {Name: "help", Alias: "h", Default: "false", Description: "help for check", Repeatable: false, IsBool: true},
65 {Name: "read-data", Alias: "", Default: "false", Description: "read all data blobs", Repeatable: false, IsBool: true},
66 {Name: "read-data-subset", Alias: "", Default: "", Description: "read a subset of data packs, specified as 'n/t' for specific part, or either 'x%' or 'x.y%' or a size in bytes with suffixes k/K, m/M, g/G, t/T for a random subset", Repeatable: false, IsBool: false},
67 {Name: "with-cache", Alias: "", Default: "false", Description: "use existing cache, only read uncached data from repository", Repeatable: false, IsBool: true},
68 },
69 },
70 "copy": {
71 Name: "copy",
72 Description: "Copy snapshots from one repository to another",
73 Options: []Option{
74 {Name: "from-insecure-no-password", Alias: "", Default: "false", Description: "use an empty password for the source repository (insecure)", Repeatable: false, IsBool: true},
75 {Name: "from-key-hint", Alias: "", Default: "", Description: "key ID of key to try decrypting the source repository first (default: $RESTIC_FROM_KEY_HINT)", Repeatable: false, IsBool: false},
76 {Name: "from-password-command", Alias: "", Default: "", Description: "shell command to obtain the source repository password from (default: $RESTIC_FROM_PASSWORD_COMMAND)", Repeatable: false, IsBool: false},
77 {Name: "from-password-file", Alias: "", Default: "", Description: "file to read the source repository password from (default: $RESTIC_FROM_PASSWORD_FILE)", Repeatable: false, IsBool: false},
78 {Name: "from-repo", Alias: "", Default: "", Description: "source repository to copy snapshots from (default: $RESTIC_FROM_REPOSITORY)", Repeatable: false, IsBool: false},
79 {Name: "from-repository-file", Alias: "", Default: "", Description: "file from which to read the source repository location to copy snapshots from (default: $RESTIC_FROM_REPOSITORY_FILE)", Repeatable: false, IsBool: false},
80 {Name: "help", Alias: "h", Default: "false", Description: "help for copy", Repeatable: false, IsBool: true},
81 {Name: "host", Alias: "H", Default: "", Description: "only consider snapshots for this host (can be specified multiple times) (default: $RESTIC_HOST)", Repeatable: true, IsBool: false},
82 {Name: "path", Alias: "", Default: "", Description: "only consider snapshots including this (absolute) path (can be specified multiple times, snapshots must include all specified paths)", Repeatable: true, IsBool: false},
83 {Name: "tag", Alias: "", Default: "", Description: "only consider snapshots including tag[,tag,...] (can be specified multiple times)", Repeatable: true, IsBool: false},
84 },
85 },
86 "diff": {
87 Name: "diff",
88 Description: "Show differences between two snapshots",
89 Options: []Option{
90 {Name: "help", Alias: "h", Default: "false", Description: "help for diff", Repeatable: false, IsBool: true},
91 {Name: "metadata", Alias: "", Default: "false", Description: "print changes in metadata", Repeatable: false, IsBool: true},
92 },
93 },
94 "dump": {
95 Name: "dump",
96 Description: "Print a backed-up file to stdout",
97 Options: []Option{
98 {Name: "archive", Alias: "a", Default: "tar", Description: "set archive format as \"tar\" or \"zip\"", Repeatable: false, IsBool: false},
99 {Name: "help", Alias: "h", Default: "false", Description: "help for dump", Repeatable: false, IsBool: true},
100 {Name: "host", Alias: "H", Default: "", Description: "only consider snapshots for this host, when snapshot ID \"latest\" is given (can be specified multiple times) (default: $RESTIC_HOST)", Repeatable: true, IsBool: false},
101 {Name: "path", Alias: "", Default: "", Description: "only consider snapshots including this (absolute) path, when snapshot ID \"latest\" is given (can be specified multiple times, snapshots must include all specified paths)", Repeatable: true, IsBool: false},
102 {Name: "tag", Alias: "", Default: "", Description: "only consider snapshots including tag[,tag,...], when snapshot ID \"latest\" is given (can be specified multiple times)", Repeatable: true, IsBool: false},
103 {Name: "target", Alias: "t", Default: "", Description: "write the output to target path", Repeatable: false, IsBool: false},
104 },
105 },
106 "features": {
107 Name: "features",
108 Description: "Print list of feature flags",
109 Options: []Option{
110 {Name: "help", Alias: "h", Default: "false", Description: "help for features", Repeatable: false, IsBool: true},
111 },
112 },
113 "find": {
114 Name: "find",
115 Description: "Find a file, a directory or restic IDs",
116 Options: []Option{
117 {Name: "blob", Alias: "", Default: "false", Description: "pattern is a blob-ID", Repeatable: false, IsBool: true},
118 {Name: "help", Alias: "h", Default: "false", Description: "help for find", Repeatable: false, IsBool: true},
119 {Name: "host", Alias: "H", Default: "", Description: "only consider snapshots for this host (can be specified multiple times) (default: $RESTIC_HOST)", Repeatable: true, IsBool: false},
120 {Name: "human-readable", Alias: "", Default: "false", Description: "print sizes in human readable format", Repeatable: false, IsBool: true},
121 {Name: "ignore-case", Alias: "i", Default: "false", Description: "ignore case for pattern", Repeatable: false, IsBool: true},
122 {Name: "long", Alias: "l", Default: "false", Description: "use a long listing format showing size and mode", Repeatable: false, IsBool: true},
123 {Name: "newest", Alias: "N", Default: "", Description: "newest modification date/time", Repeatable: false, IsBool: false},
124 {Name: "oldest", Alias: "O", Default: "", Description: "oldest modification date/time", Repeatable: false, IsBool: false},
125 {Name: "pack", Alias: "", Default: "false", Description: "pattern is a pack-ID", Repeatable: false, IsBool: true},
126 {Name: "path", Alias: "", Default: "", Description: "only consider snapshots including this (absolute) path (can be specified multiple times, snapshots must include all specified paths)", Repeatable: true, IsBool: false},
127 {Name: "reverse", Alias: "R", Default: "false", Description: "reverse sort order oldest to newest", Repeatable: false, IsBool: true},
128 {Name: "show-pack-id", Alias: "", Default: "false", Description: "display the pack-ID the blobs belong to (with --blob or --tree)", Repeatable: false, IsBool: true},
129 {Name: "snapshot", Alias: "s", Default: "", Description: "snapshot id to search in (can be given multiple times)", Repeatable: true, IsBool: false},
130 {Name: "tag", Alias: "", Default: "", Description: "only consider snapshots including tag[,tag,...] (can be specified multiple times)", Repeatable: true, IsBool: false},
131 {Name: "tree", Alias: "", Default: "false", Description: "pattern is a tree-ID", Repeatable: false, IsBool: true},
132 },
133 },
134 "forget": {
135 Name: "forget",
136 Description: "Remove snapshots from the repository",
137 Options: []Option{
138 {Name: "keep-last", Alias: "l", Default: "0", Description: "keep the last n snapshots (use 'unlimited' to keep all snapshots)", Repeatable: false, IsBool: false},
139 {Name: "keep-hourly", Alias: "H", Default: "0", Description: "keep the last n hourly snapshots (use 'unlimited' to keep all hourly snapshots)", Repeatable: false, IsBool: false},
140 {Name: "keep-daily", Alias: "d", Default: "0", Description: "keep the last n daily snapshots (use 'unlimited' to keep all daily snapshots)", Repeatable: false, IsBool: false},
141 {Name: "keep-weekly", Alias: "w", Default: "0", Description: "keep the last n weekly snapshots (use 'unlimited' to keep all weekly snapshots)", Repeatable: false, IsBool: false},
142 {Name: "keep-monthly", Alias: "m", Default: "0", Description: "keep the last n monthly snapshots (use 'unlimited' to keep all monthly snapshots)", Repeatable: false, IsBool: false},
143 {Name: "keep-yearly", Alias: "y", Default: "0", Description: "keep the last n yearly snapshots (use 'unlimited' to keep all yearly snapshots)", Repeatable: false, IsBool: false},
144 {Name: "keep-within", Alias: "", Default: "", Description: "keep snapshots that are newer than duration (eg. 1y5m7d2h) relative to the latest snapshot", Repeatable: false, IsBool: false},
145 {Name: "keep-within-hourly", Alias: "", Default: "", Description: "keep hourly snapshots that are newer than duration (eg. 1y5m7d2h) relative to the latest snapshot", Repeatable: false, IsBool: false},
146 {Name: "keep-within-daily", Alias: "", Default: "", Description: "keep daily snapshots that are newer than duration (eg. 1y5m7d2h) relative to the latest snapshot", Repeatable: false, IsBool: false},
147 {Name: "keep-within-weekly", Alias: "", Default: "", Description: "keep weekly snapshots that are newer than duration (eg. 1y5m7d2h) relative to the latest snapshot", Repeatable: false, IsBool: false},
148 {Name: "keep-within-monthly", Alias: "", Default: "", Description: "keep monthly snapshots that are newer than duration (eg. 1y5m7d2h) relative to the latest snapshot", Repeatable: false, IsBool: false},
149 {Name: "keep-within-yearly", Alias: "", Default: "", Description: "keep yearly snapshots that are newer than duration (eg. 1y5m7d2h) relative to the latest snapshot", Repeatable: false, IsBool: false},
150 {Name: "keep-tag", Alias: "", Default: "", Description: "keep snapshots with this taglist (can be specified multiple times)", Repeatable: true, IsBool: false},
151 {Name: "unsafe-allow-remove-all", Alias: "", Default: "false", Description: "allow deleting all snapshots of a snapshot group", Repeatable: false, IsBool: true},
152 {Name: "host", Alias: "", Default: "", Description: "only consider snapshots for this host (can be specified multiple times) (default: $RESTIC_HOST)", Repeatable: true, IsBool: false},
153 {Name: "tag", Alias: "", Default: "", Description: "only consider snapshots including tag[,tag,...] (can be specified multiple times)", Repeatable: true, IsBool: false},
154 {Name: "path", Alias: "", Default: "", Description: "only consider snapshots including this (absolute) path (can be specified multiple times, snapshots must include all specified paths)", Repeatable: true, IsBool: false},
155 {Name: "compact", Alias: "c", Default: "false", Description: "use compact output format", Repeatable: false, IsBool: true},
156 {Name: "group-by", Alias: "g", Default: "host,paths", Description: "group snapshots by host, paths and/or tags, separated by comma (disable grouping with '')", Repeatable: false, IsBool: false},
157 {Name: "dry-run", Alias: "n", Default: "false", Description: "do not delete anything, just print what would be done", Repeatable: false, IsBool: true},
158 {Name: "prune", Alias: "", Default: "false", Description: "automatically run the 'prune' command if snapshots have been removed", Repeatable: false, IsBool: true},
159 {Name: "max-unused", Alias: "", Default: "5%", Description: "tolerate given limit of unused data (absolute value in bytes with suffixes k/K, m/M, g/G, t/T, a value in % or the word 'unlimited')", Repeatable: false, IsBool: false},
160 {Name: "max-repack-size", Alias: "", Default: "", Description: "stop after repacking this much data in total (allowed suffixes for size: k/K, m/M, g/G, t/T)", Repeatable: false, IsBool: false},
161 {Name: "repack-cacheable-only", Alias: "", Default: "false", Description: "only repack packs which are cacheable", Repeatable: false, IsBool: true},
162 {Name: "repack-small", Alias: "", Default: "false", Description: "repack pack files below 80% of target pack size", Repeatable: false, IsBool: true},
163 {Name: "repack-uncompressed", Alias: "", Default: "false", Description: "repack all uncompressed data", Repeatable: false, IsBool: true},
164 {Name: "repack-smaller-than", Alias: "", Default: "", Description: "pack below-limit packfiles (allowed suffixes: k/K, m/M)", Repeatable: false, IsBool: false},
165 {Name: "help", Alias: "h", Default: "false", Description: "help for forget", Repeatable: false, IsBool: true},
166 },
167 },
168 "generate": {
169 Name: "generate",
170 Description: "Generate manual pages and auto-completion files (bash, fish, zsh, powershell)",
171 Options: []Option{
172 {Name: "bash-completion", Alias: "", Default: "", Description: "write bash completion file (- for stdout)", Repeatable: false, IsBool: false},
173 {Name: "fish-completion", Alias: "", Default: "", Description: "write fish completion file (- for stdout)", Repeatable: false, IsBool: false},
174 {Name: "help", Alias: "h", Default: "false", Description: "help for generate", Repeatable: false, IsBool: true},
175 {Name: "man", Alias: "", Default: "", Description: "write man pages to directory", Repeatable: false, IsBool: false},
176 {Name: "powershell-completion", Alias: "", Default: "", Description: "write powershell completion file (- for stdout)", Repeatable: false, IsBool: false},
177 {Name: "zsh-completion", Alias: "", Default: "", Description: "write zsh completion file (- for stdout)", Repeatable: false, IsBool: false},
178 },
179 },
180 "global": {
181 Name: "global",
182 Description: "Backup and restore files",
183 Options: []Option{
184 {Name: "cacert", Alias: "", Default: "", Description: "file to load root certificates from (default: use system certificates or $RESTIC_CACERT)", Repeatable: true, IsBool: false},
185 {Name: "cache-dir", Alias: "", Default: "", Description: "set the cache directory. (default: use system default cache directory)", Repeatable: false, IsBool: false},
186 {Name: "cleanup-cache", Alias: "", Default: "false", Description: "auto remove old cache directories", Repeatable: false, IsBool: true},
187 {Name: "compression", Alias: "", Default: "auto", Description: "compression mode (only available for repository format version 2), one of (auto|off|max) (default: $RESTIC_COMPRESSION)", Repeatable: false, IsBool: false},
188 {Name: "help", Alias: "h", Default: "false", Description: "help for restic", Repeatable: false, IsBool: true},
189 {Name: "http-user-agent", Alias: "", Default: "", Description: "set a http user agent for outgoing http requests", Repeatable: false, IsBool: false},
190 {Name: "insecure-no-password", Alias: "", Default: "false", Description: "use an empty password for the repository, must be passed to every restic command (insecure)", Repeatable: false, IsBool: true},
191 {Name: "insecure-tls", Alias: "", Default: "false", Description: "skip TLS certificate verification when connecting to the repository (insecure)", Repeatable: false, IsBool: true},
192 {Name: "json", Alias: "", Default: "false", Description: "set output mode to JSON for commands that support it", Repeatable: false, IsBool: true},
193 {Name: "key-hint", Alias: "", Default: "", Description: "key ID of key to try decrypting first (default: $RESTIC_KEY_HINT)", Repeatable: false, IsBool: false},
194 {Name: "limit-download", Alias: "", Default: "0", Description: "limits downloads to a maximum rate in KiB/s. (default: unlimited)", Repeatable: false, IsBool: false},
195 {Name: "limit-upload", Alias: "", Default: "0", Description: "limits uploads to a maximum rate in KiB/s. (default: unlimited)", Repeatable: false, IsBool: false},
196 {Name: "no-cache", Alias: "", Default: "false", Description: "do not use a local cache", Repeatable: false, IsBool: true},
197 {Name: "no-extra-verify", Alias: "", Default: "false", Description: "skip additional verification of data before upload (see documentation)", Repeatable: false, IsBool: true},
198 {Name: "no-lock", Alias: "", Default: "false", Description: "do not lock the repository, this allows some operations on read-only repositories", Repeatable: false, IsBool: true},
199 {Name: "option", Alias: "o", Default: "", Description: "set extended option (key=value, can be specified multiple times)", Repeatable: true, IsBool: false},
200 {Name: "pack-size", Alias: "", Default: "0", Description: "set target pack size in MiB, created pack files may be larger (default: $RESTIC_PACK_SIZE)", Repeatable: false, IsBool: false},
201 {Name: "password-command", Alias: "", Default: "", Description: "shell command to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)", Repeatable: false, IsBool: false},
202 {Name: "password-file", Alias: "p", Default: "", Description: "file to read the repository password from (default: $RESTIC_PASSWORD_FILE)", Repeatable: false, IsBool: false},
203 {Name: "quiet", Alias: "q", Default: "false", Description: "do not output comprehensive progress report", Repeatable: false, IsBool: true},
204 {Name: "repo", Alias: "r", Default: "", Description: "repository to backup to or restore from (default: $RESTIC_REPOSITORY)", Repeatable: false, IsBool: false},
205 {Name: "repository-file", Alias: "", Default: "", Description: "file to read the repository location from (default: $RESTIC_REPOSITORY_FILE)", Repeatable: false, IsBool: false},
206 {Name: "retry-lock", Alias: "", Default: "0s", Description: "retry to lock the repository if it is already locked, takes a value like 5m or 2h (default: no retries)", Repeatable: false, IsBool: false},
207 {Name: "stuck-request-timeout", Alias: "", Default: "5m0s", Description: "duration after which to retry stuck requests", Repeatable: false, IsBool: false},
208 {Name: "tls-client-cert", Alias: "", Default: "", Description: "path to a file containing PEM encoded TLS client certificate and private key (default: $RESTIC_TLS_CLIENT_CERT)", Repeatable: false, IsBool: false},
209 {Name: "verbose", Alias: "v", Default: "0", Description: "be verbose (specify multiple times or a level using --verbose=n, max level/times is 2)", Repeatable: false, IsBool: false},
210 },
211 },
212 "init": {
213 Name: "init",
214 Description: "Initialize a new repository",
215 Options: []Option{
216 {Name: "copy-chunker-params", Alias: "", Default: "false", Description: "copy chunker parameters from the secondary repository (useful with the copy command)", Repeatable: false, IsBool: true},
217 {Name: "from-insecure-no-password", Alias: "", Default: "false", Description: "use an empty password for the source repository (insecure)", Repeatable: false, IsBool: true},
218 {Name: "from-key-hint", Alias: "", Default: "", Description: "key ID of key to try decrypting the source repository first (default: $RESTIC_FROM_KEY_HINT)", Repeatable: false, IsBool: false},
219 {Name: "from-password-command", Alias: "", Default: "", Description: "shell command to obtain the source repository password from (default: $RESTIC_FROM_PASSWORD_COMMAND)", Repeatable: false, IsBool: false},
220 {Name: "from-password-file", Alias: "", Default: "", Description: "file to read the source repository password from (default: $RESTIC_FROM_PASSWORD_FILE)", Repeatable: false, IsBool: false},
221 {Name: "from-repo", Alias: "", Default: "", Description: "source repository to copy chunker parameters from (default: $RESTIC_FROM_REPOSITORY)", Repeatable: false, IsBool: false},
222 {Name: "from-repository-file", Alias: "", Default: "", Description: "file from which to read the source repository location to copy chunker parameters from (default: $RESTIC_FROM_REPOSITORY_FILE)", Repeatable: false, IsBool: false},
223 {Name: "help", Alias: "h", Default: "false", Description: "help for init", Repeatable: false, IsBool: true},
224 {Name: "repository-version", Alias: "", Default: "stable", Description: "repository format version to use, allowed values are a format version, 'latest' and 'stable'", Repeatable: false, IsBool: false},
225 },
226 },
227 "key": {
228 Name: "key",
229 Description: "Manage keys (passwords)",
230 Options: []Option{
231 {Name: "help", Alias: "h", Default: "false", Description: "help for key", Repeatable: false, IsBool: true},
232 },
233 },
234 "key-add": {
235 Name: "key-add",
236 Description: "Add a new key (password) to the repository; returns the new key ID",
237 Options: []Option{
238 {Name: "help", Alias: "h", Default: "false", Description: "help for add", Repeatable: false, IsBool: true},
239 {Name: "host", Alias: "", Default: "", Description: "the hostname for new key", Repeatable: false, IsBool: false},
240 {Name: "new-insecure-no-password", Alias: "", Default: "false", Description: "add an empty password for the repository (insecure)", Repeatable: false, IsBool: true},
241 {Name: "new-password-file", Alias: "", Default: "", Description: "file from which to read the new password", Repeatable: false, IsBool: false},
242 {Name: "user", Alias: "", Default: "", Description: "the username for new key", Repeatable: false, IsBool: false},
243 },
244 },
245 "key-list": {
246 Name: "key-list",
247 Description: "List keys (passwords)",
248 Options: []Option{
249 {Name: "help", Alias: "h", Default: "false", Description: "help for list", Repeatable: false, IsBool: true},
250 },
251 },
252 "key-passwd": {
253 Name: "key-passwd",
254 Description: "Change key (password); creates a new key ID and removes the old key ID, returns new key ID",
255 Options: []Option{
256 {Name: "help", Alias: "h", Default: "false", Description: "help for passwd", Repeatable: false, IsBool: true},
257 {Name: "host", Alias: "", Default: "", Description: "the hostname for new key", Repeatable: false, IsBool: false},
258 {Name: "new-insecure-no-password", Alias: "", Default: "false", Description: "add an empty password for the repository (insecure)", Repeatable: false, IsBool: true},
259 {Name: "new-password-file", Alias: "", Default: "", Description: "file from which to read the new password", Repeatable: false, IsBool: false},
260 {Name: "user", Alias: "", Default: "", Description: "the username for new key", Repeatable: false, IsBool: false},
261 },
262 },
263 "key-remove": {
264 Name: "key-remove",
265 Description: "Remove key ID (password) from the repository.",
266 Options: []Option{
267 {Name: "help", Alias: "h", Default: "false", Description: "help for remove", Repeatable: false, IsBool: true},
268 },
269 },
270 "list": {
271 Name: "list",
272 Description: "List objects in the repository",
273 Options: []Option{
274 {Name: "help", Alias: "h", Default: "false", Description: "help for list", Repeatable: false, IsBool: true},
275 },
276 },
277 "ls": {
278 Name: "ls",
279 Description: "List files in a snapshot",
280 Options: []Option{
281 {Name: "help", Alias: "h", Default: "false", Description: "help for ls", Repeatable: false, IsBool: true},
282 {Name: "host", Alias: "H", Default: "", Description: "only consider snapshots for this host, when snapshot ID \"latest\" is given (can be specified multiple times) (default: $RESTIC_HOST)", Repeatable: true, IsBool: false},
283 {Name: "human-readable", Alias: "", Default: "false", Description: "print sizes in human readable format", Repeatable: false, IsBool: true},
284 {Name: "long", Alias: "l", Default: "false", Description: "use a long listing format showing size and mode", Repeatable: false, IsBool: true},
285 {Name: "ncdu", Alias: "", Default: "false", Description: "output NCDU export format (pipe into 'ncdu -f -')", Repeatable: false, IsBool: true},
286 {Name: "path", Alias: "", Default: "", Description: "only consider snapshots including this (absolute) path, when snapshot ID \"latest\" is given (can be specified multiple times, snapshots must include all specified paths)", Repeatable: true, IsBool: false},
287 {Name: "recursive", Alias: "", Default: "false", Description: "include files in subfolders of the listed directories", Repeatable: false, IsBool: true},
288 {Name: "reverse", Alias: "", Default: "false", Description: "reverse sorted output", Repeatable: false, IsBool: true},
289 {Name: "sort", Alias: "s", Default: "name", Description: "sort output by (name|size|time=mtime|atime|ctime|extension)", Repeatable: false, IsBool: false},
290 {Name: "tag", Alias: "", Default: "", Description: "only consider snapshots including tag[,tag,...], when snapshot ID \"latest\" is given (can be specified multiple times)", Repeatable: true, IsBool: false},
291 },
292 },
293 "migrate": {
294 Name: "migrate",
295 Description: "Apply migrations",
296 Options: []Option{
297 {Name: "force", Alias: "f", Default: "false", Description: "apply a migration a second time", Repeatable: false, IsBool: true},
298 {Name: "help", Alias: "h", Default: "false", Description: "help for migrate", Repeatable: false, IsBool: true},
299 },
300 },
301 "mount": {
302 Name: "mount",
303 Description: "Mount the repository",
304 Options: []Option{
305 {Name: "allow-other", Alias: "", Default: "false", Description: "allow other users to access the data in the mounted directory", Repeatable: false, IsBool: true},
306 {Name: "help", Alias: "h", Default: "false", Description: "help for mount", Repeatable: false, IsBool: true},
307 {Name: "host", Alias: "H", Default: "", Description: "only consider snapshots for this host (can be specified multiple times) (default: $RESTIC_HOST)", Repeatable: true, IsBool: false},
308 {Name: "no-default-permissions", Alias: "", Default: "false", Description: "for 'allow-other', ignore Unix permissions and allow users to read all snapshot files", Repeatable: false, IsBool: true},
309 {Name: "owner-root", Alias: "", Default: "false", Description: "use 'root' as the owner of files and dirs", Repeatable: false, IsBool: true},
310 {Name: "path", Alias: "", Default: "", Description: "only consider snapshots including this (absolute) path (can be specified multiple times, snapshots must include all specified paths)", Repeatable: true, IsBool: false},
311 {Name: "path-template", Alias: "", Default: "", Description: "set template for path names (can be specified multiple times)", Repeatable: true, IsBool: false},
312 {Name: "tag", Alias: "", Default: "", Description: "only consider snapshots including tag[,tag,...] (can be specified multiple times)", Repeatable: true, IsBool: false},
313 {Name: "time-template", Alias: "", Default: "2006-01-02T15:04:05Z07:00", Description: "set template to use for times", Repeatable: false, IsBool: false},
314 },
315 },
316 "options": {
317 Name: "options",
318 Description: "Print list of extended options",
319 Options: []Option{
320 {Name: "help", Alias: "h", Default: "false", Description: "help for options", Repeatable: false, IsBool: true},
321 },
322 },
323 "prune": {
324 Name: "prune",
325 Description: "Remove unneeded data from the repository",
326 Options: []Option{
327 {Name: "dry-run", Alias: "n", Default: "false", Description: "do not modify the repository, just print what would be done", Repeatable: false, IsBool: true},
328 {Name: "help", Alias: "h", Default: "false", Description: "help for prune", Repeatable: false, IsBool: true},
329 {Name: "max-repack-size", Alias: "", Default: "", Description: "stop after repacking this much data in total (allowed suffixes for size: k/K, m/M, g/G, t/T)", Repeatable: false, IsBool: false},
330 {Name: "max-unused", Alias: "", Default: "5%", Description: "tolerate given limit of unused data (absolute value in bytes with suffixes k/K, m/M, g/G, t/T, a value in % or the word 'unlimited')", Repeatable: false, IsBool: false},
331 {Name: "repack-cacheable-only", Alias: "", Default: "false", Description: "only repack packs which are cacheable", Repeatable: false, IsBool: true},
332 {Name: "repack-small", Alias: "", Default: "false", Description: "repack pack files below 80% of target pack size", Repeatable: false, IsBool: true},
333 {Name: "repack-smaller-than", Alias: "", Default: "", Description: "pack below-limit packfiles (allowed suffixes: k/K, m/M)", Repeatable: false, IsBool: false},
334 {Name: "repack-uncompressed", Alias: "", Default: "false", Description: "repack all uncompressed data", Repeatable: false, IsBool: true},
335 {Name: "unsafe-recover-no-free-space", Alias: "", Default: "", Description: "UNSAFE, READ THE DOCUMENTATION BEFORE USING! Try to recover a repository stuck with no free space. Do not use without trying out 'prune --max-repack-size 0' first.", Repeatable: false, IsBool: false},
336 },
337 },
338 "recover": {
339 Name: "recover",
340 Description: "Recover data from the repository not referenced by snapshots",
341 Options: []Option{
342 {Name: "help", Alias: "h", Default: "false", Description: "help for recover", Repeatable: false, IsBool: true},
343 },
344 },
345 "repair": {
346 Name: "repair",
347 Description: "Repair the repository",
348 Options: []Option{
349 {Name: "help", Alias: "h", Default: "false", Description: "help for repair", Repeatable: false, IsBool: true},
350 },
351 },
352 "repair-index": {
353 Name: "repair-index",
354 Description: "Build a new index",
355 Options: []Option{
356 {Name: "help", Alias: "h", Default: "false", Description: "help for index", Repeatable: false, IsBool: true},
357 {Name: "read-all-packs", Alias: "", Default: "false", Description: "read all pack files to generate new index from scratch", Repeatable: false, IsBool: true},
358 },
359 },
360 "repair-packs": {
361 Name: "repair-packs",
362 Description: "Salvage damaged pack files",
363 Options: []Option{
364 {Name: "help", Alias: "h", Default: "false", Description: "help for packs", Repeatable: false, IsBool: true},
365 },
366 },
367 "repair-snapshots": {
368 Name: "repair-snapshots",
369 Description: "Repair snapshots",
370 Options: []Option{
371 {Name: "dry-run", Alias: "n", Default: "false", Description: "do not do anything, just print what would be done", Repeatable: false, IsBool: true},
372 {Name: "forget", Alias: "", Default: "false", Description: "remove original snapshots after creating new ones", Repeatable: false, IsBool: true},
373 {Name: "help", Alias: "h", Default: "false", Description: "help for snapshots", Repeatable: false, IsBool: true},
374 {Name: "host", Alias: "H", Default: "", Description: "only consider snapshots for this host (can be specified multiple times) (default: $RESTIC_HOST)", Repeatable: true, IsBool: false},
375 {Name: "path", Alias: "", Default: "", Description: "only consider snapshots including this (absolute) path (can be specified multiple times, snapshots must include all specified paths)", Repeatable: true, IsBool: false},
376 {Name: "tag", Alias: "", Default: "", Description: "only consider snapshots including tag[,tag,...] (can be specified multiple times)", Repeatable: true, IsBool: false},
377 },
378 },
379 "restore": {
380 Name: "restore",
381 Description: "Extract the data from a snapshot",
382 Options: []Option{
383 {Name: "delete", Alias: "", Default: "false", Description: "delete files from target directory if they do not exist in snapshot. Use '--dry-run -vv' to check what would be deleted", Repeatable: false, IsBool: true},
384 {Name: "dry-run", Alias: "", Default: "false", Description: "do not write any data, just show what would be done", Repeatable: false, IsBool: true},
385 {Name: "exclude", Alias: "e", Default: "", Description: "exclude a pattern (can be specified multiple times)", Repeatable: true, IsBool: false},
386 {Name: "exclude-file", Alias: "", Default: "", Description: "read exclude patterns from a file (can be specified multiple times)", Repeatable: true, IsBool: false},
387 {Name: "exclude-xattr", Alias: "", Default: "", Description: "exclude xattr by pattern (can be specified multiple times)", Repeatable: true, IsBool: false},
388 {Name: "help", Alias: "h", Default: "false", Description: "help for restore", Repeatable: false, IsBool: true},
389 {Name: "host", Alias: "H", Default: "", Description: "only consider snapshots for this host, when snapshot ID \"latest\" is given (can be specified multiple times) (default: $RESTIC_HOST)", Repeatable: true, IsBool: false},
390 {Name: "iexclude", Alias: "", Default: "", Description: "same as --exclude pattern but ignores the casing of filenames", Repeatable: true, IsBool: false},
391 {Name: "iexclude-file", Alias: "", Default: "", Description: "same as --exclude-file but ignores casing of filenames in patterns", Repeatable: true, IsBool: false},
392 {Name: "iinclude", Alias: "", Default: "", Description: "same as --include pattern but ignores the casing of filenames", Repeatable: true, IsBool: false},
393 {Name: "iinclude-file", Alias: "", Default: "", Description: "same as --include-file but ignores casing of filenames in patterns", Repeatable: true, IsBool: false},
394 {Name: "include", Alias: "i", Default: "", Description: "include a pattern (can be specified multiple times)", Repeatable: true, IsBool: false},
395 {Name: "include-file", Alias: "", Default: "", Description: "read include patterns from a file (can be specified multiple times)", Repeatable: true, IsBool: false},
396 {Name: "include-xattr", Alias: "", Default: "", Description: "include xattr by pattern (can be specified multiple times)", Repeatable: true, IsBool: false},
397 {Name: "overwrite", Alias: "", Default: "always", Description: "overwrite behavior, one of (always|if-changed|if-newer|never)", Repeatable: false, IsBool: false},
398 {Name: "path", Alias: "", Default: "", Description: "only consider snapshots including this (absolute) path, when snapshot ID \"latest\" is given (can be specified multiple times, snapshots must include all specified paths)", Repeatable: true, IsBool: false},
399 {Name: "sparse", Alias: "", Default: "false", Description: "restore files as sparse", Repeatable: false, IsBool: true},
400 {Name: "tag", Alias: "", Default: "", Description: "only consider snapshots including tag[,tag,...], when snapshot ID \"latest\" is given (can be specified multiple times)", Repeatable: true, IsBool: false},
401 {Name: "target", Alias: "t", Default: "", Description: "directory to extract data to", Repeatable: false, IsBool: false},
402 {Name: "verify", Alias: "", Default: "false", Description: "verify restored files content", Repeatable: false, IsBool: true},
403 },
404 },
405 "rewrite": {
406 Name: "rewrite",
407 Description: "Rewrite snapshots to exclude unwanted files",
408 Options: []Option{
409 {Name: "dry-run", Alias: "n", Default: "false", Description: "do not do anything, just print what would be done", Repeatable: false, IsBool: true},
410 {Name: "exclude", Alias: "e", Default: "", Description: "exclude a pattern (can be specified multiple times)", Repeatable: true, IsBool: false},
411 {Name: "exclude-file", Alias: "", Default: "", Description: "read exclude patterns from a file (can be specified multiple times)", Repeatable: true, IsBool: false},
412 {Name: "forget", Alias: "", Default: "false", Description: "remove original snapshots after creating new ones", Repeatable: false, IsBool: true},
413 {Name: "help", Alias: "h", Default: "false", Description: "help for rewrite", Repeatable: false, IsBool: true},
414 {Name: "host", Alias: "H", Default: "", Description: "only consider snapshots for this host (can be specified multiple times) (default: $RESTIC_HOST)", Repeatable: true, IsBool: false},
415 {Name: "iexclude", Alias: "", Default: "", Description: "same as --exclude pattern but ignores the casing of filenames", Repeatable: true, IsBool: false},
416 {Name: "iexclude-file", Alias: "", Default: "", Description: "same as --exclude-file but ignores casing of filenames in patterns", Repeatable: true, IsBool: false},
417 {Name: "new-host", Alias: "", Default: "", Description: "replace hostname", Repeatable: false, IsBool: false},
418 {Name: "new-time", Alias: "", Default: "", Description: "replace time of the backup", Repeatable: false, IsBool: false},
419 {Name: "path", Alias: "", Default: "", Description: "only consider snapshots including this (absolute) path (can be specified multiple times, snapshots must include all specified paths)", Repeatable: true, IsBool: false},
420 {Name: "snapshot-summary", Alias: "s", Default: "false", Description: "create snapshot summary record if it does not exist", Repeatable: false, IsBool: true},
421 {Name: "tag", Alias: "", Default: "", Description: "only consider snapshots including tag[,tag,...] (can be specified multiple times)", Repeatable: true, IsBool: false},
422 },
423 },
424 "snapshots": {
425 Name: "snapshots",
426 Description: "List all snapshots",
427 Options: []Option{
428 {Name: "compact", Alias: "c", Default: "false", Description: "use compact output format", Repeatable: false, IsBool: true},
429 {Name: "group-by", Alias: "g", Default: "", Description: "group snapshots by host, paths and/or tags, separated by comma", Repeatable: false, IsBool: false},
430 {Name: "help", Alias: "h", Default: "false", Description: "help for snapshots", Repeatable: false, IsBool: true},
431 {Name: "host", Alias: "H", Default: "", Description: "only consider snapshots for this host (can be specified multiple times) (default: $RESTIC_HOST)", Repeatable: true, IsBool: false},
432 {Name: "latest", Alias: "", Default: "0", Description: "only show the last n snapshots for each host and path", Repeatable: false, IsBool: false},
433 {Name: "path", Alias: "", Default: "", Description: "only consider snapshots including this (absolute) path (can be specified multiple times, snapshots must include all specified paths)", Repeatable: true, IsBool: false},
434 {Name: "tag", Alias: "", Default: "", Description: "only consider snapshots including tag[,tag,...] (can be specified multiple times)", Repeatable: true, IsBool: false},
435 },
436 },
437 "stats": {
438 Name: "stats",
439 Description: "Scan the repository and show basic statistics",
440 Options: []Option{
441 {Name: "help", Alias: "h", Default: "false", Description: "help for stats", Repeatable: false, IsBool: true},
442 {Name: "host", Alias: "H", Default: "", Description: "only consider snapshots for this host (can be specified multiple times) (default: $RESTIC_HOST)", Repeatable: true, IsBool: false},
443 {Name: "mode", Alias: "", Default: "restore-size", Description: "counting mode: restore-size (default), files-by-contents, blobs-per-file or raw-data", Repeatable: false, IsBool: false},
444 {Name: "path", Alias: "", Default: "", Description: "only consider snapshots including this (absolute) path (can be specified multiple times, snapshots must include all specified paths)", Repeatable: true, IsBool: false},
445 {Name: "tag", Alias: "", Default: "", Description: "only consider snapshots including tag[,tag,...] (can be specified multiple times)", Repeatable: true, IsBool: false},
446 },
447 },
448 "tag": {
449 Name: "tag",
450 Description: "Modify tags on snapshots",
451 Options: []Option{
452 {Name: "add", Alias: "", Default: "", Description: "tags which will be added to the existing tags in the format tag[,tag,...] (can be given multiple times)", Repeatable: true, IsBool: false},
453 {Name: "help", Alias: "h", Default: "false", Description: "help for tag", Repeatable: false, IsBool: true},
454 {Name: "host", Alias: "H", Default: "", Description: "only consider snapshots for this host (can be specified multiple times) (default: $RESTIC_HOST)", Repeatable: true, IsBool: false},
455 {Name: "path", Alias: "", Default: "", Description: "only consider snapshots including this (absolute) path (can be specified multiple times, snapshots must include all specified paths)", Repeatable: true, IsBool: false},
456 {Name: "remove", Alias: "", Default: "", Description: "tags which will be removed from the existing tags in the format tag[,tag,...] (can be given multiple times)", Repeatable: true, IsBool: false},
457 {Name: "set", Alias: "", Default: "", Description: "tags which will replace the existing tags in the format tag[,tag,...] (can be given multiple times)", Repeatable: true, IsBool: false},
458 {Name: "tag", Alias: "", Default: "", Description: "only consider snapshots including tag[,tag,...] (can be specified multiple times)", Repeatable: true, IsBool: false},
459 },
460 },
461 "unlock": {
462 Name: "unlock",
463 Description: "Remove locks other processes created",
464 Options: []Option{
465 {Name: "help", Alias: "h", Default: "false", Description: "help for unlock", Repeatable: false, IsBool: true},
466 {Name: "remove-all", Alias: "", Default: "false", Description: "remove all locks, even non-stale ones", Repeatable: false, IsBool: true},
467 },
468 },
469 "version": {
470 Name: "version",
471 Description: "Print version information",
472 Options: []Option{
473 {Name: "help", Alias: "h", Default: "false", Description: "help for version", Repeatable: false, IsBool: true},
474 },
475 },
476}