duply(1) - Linux man page
Version
duply version 1.5.9 (http://duply.net)
Description
Duply deals as a wrapper for the mighty duplicity magic. It simplifies running duplicity with cron or on command line by:
- • keeping recurring settings in profiles per backup job
• enabling batch operations eg. backup_verify_purge
• executing pre/post scripts for every command
• precondition checking for flawless duplicity operation
- For each backup job one configuration profile must be created. The profile folder will be stored under '~/.duply/<profile>' (where ~ is the current
users home directory).
- Hint:
If the folder '/etc/duply' exists, the profiles for the super user root will be searched & created there.
- Hint:
Usage
first time usage (profile creation):
- duply <profile> create
- general usage in single or batch mode (see EXAMPLES):
- duply <profile> <command>[_<command>_...] [<options> ...]
- Non duply options are passed on to duplicity (see OPTIONS). All conf parameters can also be defined in the environment instead.
Profile
Indicated by a path or a profile name (<profile>), which is resolved to '~/.duply/<profile>' (~ expands to environment variable $HOME).
Superuser root can place profiles under '/etc/duply'. Simply create the folder manually before running duply as superuser.
- Note:
Already existing profiles in root's profile folder will cease to work unless there are moved to the new location manually.
- example 1:
- duply humbug backup
- Alternatively a _path_ might be used e.g. useful for quick testing, restoring or exotic locations. Shell expansion should work as usual.
- Hint:
The path must contain at least one path separator '/', e.g. './test' instead of only 'test'.
- example 2:
- Hint:
- duply ~/.duply/humbug backup
Commands
- usage
get usage help text
create
creates a configuration profile
backup
backup with pre/post script execution (batch: pre_bkp_post), full (if full_if_older matches or no earlier backup is found) incremental (in all other cases)
- pre/post
- execute '<profile>/pre', '<profile>/post' scripts
- bkp
as above but without executing pre/post scripts
full
force full backup
incr
force incremental backup
- list [<age>]
- list all files in backup (as it was at <age>, default: now)
- status
prints backup sets and chains currently in repository
verify
list files changed since latest backup
- restore <target_path> [<age>]
- restore the complete backup to <target_path> [as it was at <age>]
- fetch <src_path> <target_path> [<age>]
- fetch single file/folder from backup [as it was at <age>]
- purge [<max_age>] [--force]
- list outdated backup files (older than $MAX_AGE) [use --force to actually delete these files]
- purge-full [<max_full_backups>] [--force]
- list outdated backup files ($MAX_FULL_BACKUPS being the number of full backups and associated incrementals to keep, counting in reverse chronological order) [use --force to actually delete these files]
- cleanup [--force]
- list broken backup chain files archives (e.g. after unfinished run) [use --force to actually delete these files]
- changelog
- print changelog / todo list
- txt2man
- feature for package maintainers - create a manpage based on the usage output. download txt2man from http://mvertes.free.fr/, put it in the PATH and run 'duply txt2man' to create a man page.
Options
--force
- passed to duplicity (see commands: purge, purge-full, cleanup)
- --preview
- do nothing but print out generated duplicity command lines
- --disable-encryption
- disable encryption, overrides profile settings
Pre Post Scripts
All internal duply variables will be readable in the scripts. Some of interest might be
CONFDIR, SOURCE, TARGET_URL_<PROT|HOSTPATH|USER|PASS>, GPG_<KEYS_ENC|KEY_SIGN|PW>, CMD_<PREV|NEXT>The CMD_* variables were introduced to allow different actions according to the command the scripts were attached to e.g. 'pre_bkp_post_pre_verify_post' will call the pre script two times, with CMD_NEXT variable set to 'bkp' on the first and to 'verify' on the second run.
Examples
create profile 'humbug':
- duply humbug create (now edit the resulting conf file)
- backup 'humbug' now:
- duply humbug backup
- list available backup sets of profile 'humbug':
- duply humbug status
- list and delete obsolete backup archives of 'humbug':
- duply humbug purge --force
- restore latest backup of 'humbug' to /mnt/restore:
- duply humbug restore /mnt/restore
- restore /etc/passwd of 'humbug' from 4 days ago to /root/pw:
- duply humbug fetch etc/passwd /root/pw 4D (see "duplicity manpage", section TIME FORMATS)
- a one line batch job on 'humbug' for cron execution:
- duply humbug backup_verify_purge --force
Files
in profile folder '~/.duply/<profile>' or '/etc/duply'
- conf
profile configuration file
- pre,post
- pre/post scripts (see above for details)
- gpgkey.*.asc
- exported GPG key files
- exclude
- a globbing list of included or excluded files/folders (see "duplicity manpage", section FILE SELECTION)
Important
Copy the _whole_ profile folder after the first backup to a safe place. It contains everything needed to restore your backups. You will need it if you have to restore the backup from another system (e.g. after a system crash). Keep access to these files restricted as they contain _all_ informations (gpg data, ftp data) to access and modify your backups.
Repeat this step after _all_ configuration changes. Some configuration options are crucial for restoration.
See Also
duplicity man page: duplicity(1) or http://duplicity.nongnu.org/duplicity.1.html