Merge lp:~ed.so/duplicity/man.page into lp:duplicity/0.6

Proposed by edso
Status: Merged
Merged at revision: 925
Proposed branch: lp:~ed.so/duplicity/man.page
Merge into: lp:duplicity/0.6
Diff against target: 481 lines (+142/-104)
1 file modified
bin/duplicity.1 (+142/-104)
To merge this branch: bzr merge lp:~ed.so/duplicity/man.page
Reviewer Review Type Date Requested Status
duplicity-team Pending
Review via email: mp+180734@code.launchpad.net

Description of the change

update paramiko links
add command parameters to synopsis
add --compare-data
some polishing
several improvements

To post a comment you must log in.
Revision history for this message
Kenneth Loafman (kenneth-loafman) wrote :

Looking good!

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'bin/duplicity.1'
2--- bin/duplicity.1 2013-08-17 18:34:48 +0000
3+++ bin/duplicity.1 2013-08-18 14:20:30 +0000
4@@ -9,12 +9,15 @@
5 duplicity \- Encrypted incremental backup to local or remote storage.
6
7 .SH SYNOPSIS
8+For detailed descriptions for each command see chapter
9+.BR ACTIONS .
10+
11 .B duplicity [full|incremental]
12 .I [options]
13 source_directory target_url
14
15 .B duplicity verify
16-.I [options] [--file-to-restore <relpath>]
17+.I [options] [--compare-data] [--file-to-restore <relpath>] [--time time]
18 source_url target_directory
19
20 .B duplicity collection-status
21@@ -54,19 +57,16 @@
22 Some backends also require additional components (probably available as packages for your specific platform):
23 .TP
24 .BR "boto backend" " (S3 Amazon Web Services, Google Cloud Storage)"
25-.B boto
26+.B boto version 2.0+
27 - http://github.com/boto/boto
28 .TP
29 .BR "cloudfiles backend" " (e.g. Rackspace Open Cloud)"
30 .B Cloud Files Python API
31 - http://www.rackspace.com/knowledge_center/article/python-api-installation-for-cloud-files
32 .TP
33-.BR "OpenStack Swift backend"
34-.B Python swiftclient module
35-- https://github.com/openstack/python-swiftclient/
36-.br
37-.B Python keystoneclient module
38-- https://github.com/openstack/python-keystoneclient/
39+.B "dpbx backend" (Dropbox)
40+.B Dropbox Python SDK
41+- https://www.dropbox.com/developers/reference/sdk
42 .TP
43 .B "ftp backend"
44 .B NcFTP Client
45@@ -99,7 +99,7 @@
46 .BR "ssh paramiko backend" " (enabled by default)"
47 .B paramiko
48 (SSH2 for python)
49-- http://www.lag.net/paramiko/
50+- http://pypi.python.org/pypi/paramiko (downloads); http://github.com/paramiko/paramiko (project page)
51 .br
52 .B pycrypto
53 (Python Cryptography Toolkit)
54@@ -109,6 +109,13 @@
55 .B sftp/scp client binaries
56 OpenSSH - http://www.openssh.com/
57 .TP
58+.BR "swift backend (OpenStack Object Storage)"
59+.B Python swiftclient module
60+- https://github.com/openstack/python-swiftclient/
61+.br
62+.B Python keystoneclient module
63+- https://github.com/openstack/python-keystoneclient/
64+.TP
65 .B "Ubuntu One"
66 .B httplib2
67 (python HTTP client library)
68@@ -125,23 +132,17 @@
69 .br
70 (also see
71 .BR "A NOTE ON SSL CERTIFICATE VERIFICATION" ).
72-.TP
73-.B "dpbx backend"
74-.B Dropbox Python SDK
75-- https://www.dropbox.com/developers/reference/sdk
76-.br
77
78 .SH DESCRIPTION
79-Duplicity incrementally backs up files and directory
80-by encrypting tar-format volumes with GnuPG and uploading them to a
81-remote (or local) file server. See
82+Duplicity incrementally backs up files and folders into
83+tar-format volumes encrypted with GnuPG and places them to a
84+remote (or local) storage backend. See chapter
85 .B URL FORMAT
86-for a list all supported backends and how to address them.
87-Because duplicity uses
88-librsync, the incremental archives are space efficient and only record
89-the parts of files that have changed since the last backup. Currently
90-duplicity supports deleted files, full Unix permissions, uid/gid, directories,
91-symbolic links, fifos, etc., but not hard links.
92+for a list of all supported backends and how to address them.
93+Because duplicity uses librsync, incremental backups are space efficient
94+and only record the parts of files that have changed since the last backup.
95+Currently duplicity supports deleted files, full Unix permissions, uid/gid,
96+directories, symbolic links, fifos, etc., but not hard links.
97
98 If you are backing up the root directory /, remember to --exclude
99 /proc, or else duplicity will probably crash on the weird stuff in
100@@ -156,7 +157,7 @@
101 .PP
102 .RE
103 If the above is run repeatedly, the first will be a full backup, and
104-subsequent ones will be incremental. To force a full backup, use the
105+subsequent ones will be incremental. To force a full backup, use the
106 .I full
107 action:
108 .PP
109@@ -164,6 +165,14 @@
110 duplicity full /home/me sftp://uid@other.host/some_dir
111 .PP
112 .RE
113+or enforcing a full every other time via
114+.I --full-if-older-than <time>
115+, e.g. a full every month:
116+.PP
117+.RS
118+duplicity --full-if-older-than 1M /home/me sftp://uid@other.host/some_dir
119+.PP
120+.RE
121 Now suppose we accidentally delete /home/me and want to restore it
122 the way it was at the time of last backup:
123 .PP
124@@ -179,8 +188,7 @@
125 duplicity -t 3D --file-to-restore Mail/article sftp://uid@other.host/some_dir /home/me/restored_file
126 .PP
127 .RE
128-The following command compares the files we backed up, so see what has
129-changed since then:
130+The following command compares the latest backup with the current files:
131 .PP
132 .RS
133 duplicity verify sftp://uid@other.host/some_dir /home/me
134@@ -213,6 +221,7 @@
135
136 .SH ACTIONS
137 Duplicity knows action commands, which can be finetuned with options.
138+.br
139 The actions for backup (full,incr) and restoration (restore) can as well be
140 left out as duplicity detects in what mode it should switch to by the order
141 of target URL and local folder. If the target URL comes before the local folder
142@@ -221,24 +230,47 @@
143 .br
144 If a backup is in order and old signatures can be found duplicity automatically
145 performs an incremental backup.
146+.PP
147+.B Note:
148+The following explanations explain some but
149+.B not
150+all options that can be used in connection with that action command.
151+Consult the OPTIONS section for more detailed informations.
152
153 .TP
154-.B full
155+.BI "full " "<folder> <url>"
156 Perform a full backup. A new backup chain is started even if
157 signatures are available for an incremental backup.
158
159 .TP
160-.BR incr
161+.BI "incr " "<folder> <url>"
162 If this is requested an incremental backup will be performed.
163 Duplicity will abort if no old signatures can be found.
164
165 .TP
166-.B collection-status
167+.BI "verify " "[--compare-data] [--time <time>] [--file-to-restore <relpath>] <url> <folder>"
168+Verify compares the backup contents with the source folder.
169+duplicity will exit with a non-zero error level if any files are different.
170+On verbosity level info (4) or higher, a message for each file that has
171+changed will be logged.
172+.br
173+The
174+.I --file-to-restore
175+option restricts verify to that file or folder.
176+The
177+.I --time
178+option allows to select a backup to verify against.
179+The
180+.I --compare-data
181+option enables data comparison (see below).
182+
183+.TP
184+.BI "collection-status " "<url>"
185 Summarize the status of the backup repository by printing the chains
186 and sets found, and the number of volumes in each.
187
188 .TP
189-.BI "list-current-files " "[--time <time>]"
190+.BI "list-current-files " "[--time <time>] <url>"
191 Lists the files contained in the most current backup or backup at time.
192 The information will be extracted from the signature files, not the archive data
193 itself. Thus the whole archive does not have to be downloaded, but on
194@@ -246,15 +278,7 @@
195 command will not detect it.
196
197 .TP
198-.BI "verify " "[--file-to-restore <relpath>]"
199-Enter verify mode instead of restore. If the --file-to-restore option
200-is given, restrict verify to that file or directory. duplicity will
201-exit with a non-zero error level if any files are different. On
202-verbosity level 4 or higher, log a message for each file that has
203-changed.
204-
205-.TP
206-.BI "restore " "[--file-to-restore <relpath>] [--time <time>]"
207+.BI "restore " "[--file-to-restore <relpath>] [--time <time>] <url> <target_folder>"
208 You can restore the full monty or selected folders/files from a specific time.
209 Use the relative path as it is printed by
210 .BR list-current-files .
211@@ -262,7 +286,7 @@
212 comes before the local folder.
213
214 .TP
215-.BI "remove-older-than " time
216+.BI "remove-older-than " "<time> [--force] <url>"
217 Delete all backup sets older than the given time. Old backup sets
218 will not be deleted if backup sets newer than
219 .I time
220@@ -271,10 +295,10 @@
221 section for more information. Note, this action cannot be combined
222 with backup or other actions, such as cleanup. Note also that
223 .I --force
224-will be needed to delete the files rather than just list them.
225+will be needed to delete the files instead of just listing them.
226
227 .TP
228-.BI "remove-all-but-n-full " count
229+.BI "remove-all-but-n-full " "<count> [--force] <url>"
230 Delete all backups sets that are older than the count:th last full
231 backup (in other words, keep the last
232 .I count
233@@ -283,26 +307,26 @@
234 must be larger than zero. A value of 1 means that only the single most
235 recent backup chain will be kept. Note that
236 .I --force
237-will be needed to delete the files rather than just list them.
238+will be needed to delete the files instead of just listing them.
239
240 .TP
241-.BI "remove-all-inc-of-but-n-full " count
242+.BI "remove-all-inc-of-but-n-full " "<count> [--force] <url>"
243 Delete incremental sets of all backups sets that are older than the count:th last full
244 backup (in other words, keep only old full backups and not their increments).
245 .I count
246 must be larger than zero. A value of 1 means that only the single most
247 recent backup chain will be kept intact. Note that
248 .I --force
249-will be needed to delete the files rather than just list them.
250+will be needed to delete the files instead of just listing them.
251
252 .TP
253-.B cleanup
254+.BI "cleanup " "[--force] [--extra-clean] <url>"
255 Delete the extraneous duplicity files on the given backend.
256 Non-duplicity files, or files in complete data sets will not be
257 deleted. This should only be necessary after a duplicity session
258 fails or is aborted prematurely. Note that
259 .I --force
260-will be needed to delete the files rather than just list them.
261+will be needed to delete the files instead of just listing them.
262
263 .SH OPTIONS
264
265@@ -374,6 +398,11 @@
266 enough storage space is required to store two volumes.
267
268 .TP
269+.B --compare-data
270+Enable data comparison of regular files on action verify.
271+This is disabled by default for performance reasons.
272+
273+.TP
274 .BI "--dry-run "
275 Calculate what would be done, but do not perform any backend actions
276
277@@ -670,7 +699,7 @@
278 option). Default is to prompt the status each 3 seconds.
279
280 .TP
281-.BI "--rename " "orig new"
282+.BI "--rename " "<original path> <new path>"
283 Treats the path
284 .I orig
285 in the backup as if it were the path
286@@ -943,7 +972,7 @@
287 it is permitted however.
288 Consider setting the environment variable
289 .B FTP_PASSWORD
290-instead, which is used by most, if not all backends, regardless of its name.
291+instead, which is used by most, if not all backends, regardless of it's name.
292 .PP
293 In protocols that support it, the path may be preceded by a single
294 slash, '/path', to represent a relative path to the target home directory,
295@@ -958,6 +987,13 @@
296 See also
297 .B "A NOTE ON CLOUD FILES ACCESS"
298 .PP
299+.BI Dropbox
300+.br
301+dpbx:///some_dir
302+.br
303+Make sure to read
304+.BR "A NOTE ON DROPBOX ACCESS" " first!"
305+.PP
306 file://[relative|/absolute]/local/path
307 .PP
308 ftp[s]://user[:password]@other.host[:port]/some_dir
309@@ -1005,7 +1041,7 @@
310 swift://container_name
311 .br
312 See also
313-.B "A NOTE ON OPENSTACK SWIFT ACCESS"
314+.B "A NOTE ON SWIFT (OPENSTACK OBJECT STORAGE) ACCESS"
315 .PP
316 tahoe://alias/directory
317 .PP
318@@ -1018,25 +1054,7 @@
319 See also
320 .BI "A NOTE ON UBUNTU ONE"
321 .PP
322-webdav[s]://user[:password]@other.host/some_dir
323-.PP
324-.BI Dropbox
325-.br
326-dpbx:///some_dir
327-.br
328-.IP 1.
329-"some_dir" must already exist in the Dropbox Application folder for
330-this application, like "Apps/Duplicity/some_dir".
331-.IP 2.
332-The first run of the backend must be ineractive!
333-It will print the URL that you need to open in the browser to obtain
334-OAuth token for the application. The token will be saved in the file
335-$HOME/.dropbox.token_store.txt and used in the future runs.
336-.IP 3.
337-When using Dropbox for storage, be aware that all files, including the
338-ones in the Apps folder, will be synced to all connected computers.
339-You may prefer to use a separate Dropbox account specially for the
340-backups, and not connect any computers to that account.
341+webdav[s]://user[:password]@other.host[:port]/some_dir
342 .RE
343
344 .SH TIME FORMATS
345@@ -1172,21 +1190,26 @@
346 The
347 .B --exclude
348 pattern option matches a file if:
349-.IP 1.
350+.PP
351+.B 1.
352 .I pattern
353 can be expanded into the file's filename, or
354-.IP 2.
355+.br
356+.B 2.
357 the file is inside a directory matched by the option.
358 .PP
359 Conversely, the
360 .B "--include "
361 pattern matches a file if:
362-.IP 1.
363+.PP
364+.B 1.
365 .I pattern
366 can be expanded into the file's filename, or
367-.IP 2.
368+.br
369+.B 2.
370 the file is inside a directory matched by the option, or
371-.IP 3.
372+.br
373+.B 3.
374 the file is a directory which contains a file matched by the option.
375 .PP
376 For example,
377@@ -1231,7 +1254,8 @@
378 interpreted similarly to the way
379 .I extended shell patterns
380 are, with a few exceptions:
381-.IP 1.
382+.PP
383+.B 1.
384 Globbing patterns like
385 .BR * ,
386 .BR ** ,
387@@ -1239,10 +1263,12 @@
388 and
389 .B [...]
390 are not expanded.
391-.IP 2.
392+.br
393+.B 2.
394 Include patterns do not match files in a directory that is included.
395 So /usr/local in an include file will not match /usr/local/doc.
396-.IP 3.
397+.br
398+.B 3.
399 Lines starting with "+ " are interpreted as include directives, even
400 if found in a filelist referenced by
401 .BR --exclude-filelist .
402@@ -1343,32 +1369,20 @@
403 .I must
404 be set in order to use other cloud files providers.
405
406-.SH A NOTE ON OPENSTACK SWIFT ACCESS
407-
408-Swift is the OpenStack Object Storage service.
409-
410-The backend requires python-switclient to be installed on the system.
411-python-keystoneclient is also needed to use OpenStack's Keystone Identity service.
412-See
413-.B REQUIREMENTS
414-above.
415-
416-It uses four environment variables for authentification:
417-.BR SWIFT_USERNAME " (required),"
418-.BR SWIFT_PASSWORD " (required),"
419-.BR SWIFT_AUTHURL " (required),"
420-.BR SWIFT_TENANTNAME " (optional, the tenant can be included in the username)"
421-
422-If the user was previously authenticated, the following environment
423-variables can be used instead:
424-.BR SWIFT_PREAUTHURL " (required),"
425-.BR SWIFT_PREAUTHTOKEN " (required)"
426-
427-If
428-.B SWIFT_AUTHVERSION
429-is unspecified, it will default to version 1.
430-
431-
432+.SH A NOTE ON DROPBOX ACCESS
433+.IP 1.
434+"some_dir" must already exist in the Dropbox Application folder for
435+this application, like "Apps/Duplicity/some_dir".
436+.IP 2.
437+The first run of the backend must be ineractive!
438+It will print the URL that you need to open in the browser to obtain
439+OAuth token for the application. The token will be saved in the file
440+$HOME/.dropbox.token_store.txt and used in the future runs.
441+.IP 3.
442+When using Dropbox for storage, be aware that all files, including the
443+ones in the Apps folder, will be synced to all connected computers.
444+You may prefer to use a separate Dropbox account specially for the
445+backups, and not connect any computers to that account.
446
447 .SH A NOTE ON EUROPEAN S3 BUCKETS
448 Amazon S3 provides the ability to choose the location of a bucket upon
449@@ -1529,7 +1543,31 @@
450 .B --ssl-no-check-certificate
451 option to disable certificate verification alltogether, in case some ssl library
452 is missing or verification is not wanted. Use it with care, as even with self signed
453-servers manually providing the private ca certificate is definitely the safer option.
454+servers manually providing the private ca certificate is definitely the safer option.
455+
456+.SH A NOTE ON SWIFT (OPENSTACK OBJECT STORAGE) ACCESS
457+Swift is the OpenStack Object Storage service.
458+.br
459+The backend requires python-switclient to be installed on the system.
460+python-keystoneclient is also needed to use OpenStack's Keystone Identity service.
461+See
462+.B REQUIREMENTS
463+above.
464+
465+It uses four environment variables for authentification:
466+.BR SWIFT_USERNAME " (required),"
467+.BR SWIFT_PASSWORD " (required),"
468+.BR SWIFT_AUTHURL " (required),"
469+.BR SWIFT_TENANTNAME " (optional, the tenant can be included in the username)"
470+
471+If the user was previously authenticated, the following environment
472+variables can be used instead:
473+.BR SWIFT_PREAUTHURL " (required),"
474+.BR SWIFT_PREAUTHTOKEN " (required)"
475+
476+If
477+.B SWIFT_AUTHVERSION
478+is unspecified, it will default to version 1.
479
480 .SH A NOTE ON SYMMETRIC ENCRYPTION AND SIGNING
481 Signing and symmetrically encrypt at the same time with the gpg binary on the

Subscribers

People subscribed via source and target branches

to all changes: