You are here
tklbam-restore: Restore a backup
SYNOPSIS
tklbam-restore [ -options ] [ <hub-backup> ] || path/to/backup/extract
ARGUMENTS
<hub-backup> := backup-id || unique label pattern
OPTIONS
--raw-download=path/to/backup/: Download backup to directory without doing a system restore
--time=TIME: Time to restore from
TIME := YYYY-MM-DD | YYYY-MM-DDThh:mm:ss | <int>[mhDWMY]
e.g.,
2010-08-06 - 2010, August 6th, 00:00
2010-08-07T14:00 - 2010, August 7th 14:00 UTC
6m - 6 minutes
5h - 5 hours
4D - 4 days ago
3W - 3 weeks ago
2M - 2 months ago
1Y - 1 year ago
--limits=LIMITS: Restore filesystem or database limitations
Used to control what parts of the backup will be restored.
Preceding a limit with a minus sign turns it into an exclusion.
Multiple items are space separated. Spaces in paths MUST be escaped.
E.g. --limits="/path\ with\ spaces -/another\ path"
LIMITS := " LIMIT -1 .. LIMIT -N"
LIMIT := -?( /path/to/include/or/exclude | mysql:database[/table] | pgsql:database[/table] )
--keyfile=KEYFILE: Path to escrow keyfile.
Default: Hub provides this automatically.
--address=TARGET_URL: manual backup target URL (needs --keyfile).
Supported storage backends and their URL formats:
file:///some_dir
rsync://user[:password]@other.host[:port]//absolute_path
rsync://user[:password]@other.host[:port]/relative_path
rsync://user[:password]@other.host[:port]::/module/some_dir
s3://other.host/bucket_name[/prefix]
s3+http://bucket_name[/prefix]
ftp://user[:password]@other.host[:port]/some_dir
ftps://user[:password]@other.host[:port]/some_dir
hsi://user[:password]@other.host[:port]/some_dir
imap://user[:password]@other.host[:port]/some_dir
scp://user[:password]@other.host[:port]/some_dir
ssh://user[:password]@other.host[:port]/some_dir
tahoe://alias/directory
webdav://user[:password]@other.host/some_dir
webdavs://user[:password]@other.host/some_dir
gdocs://user[:password]@other.host/some_dir
Default: Hub provides this automatically.
--skip-files: Don't restore filesystem
--skip-database: Don't restore databases
--skip-packages: Don't restore new packages
--logfile=PATH: Path to log file. Default: /var/log/tklbam-restore
--no-rollback: Disable rollback
--quiet: Disable feedback
--force: Disable sanity checking
--debug: Run $SHELL after Duplicity
USAGE EXAMPLES
# Restore Hub backup id 1
tklbam-restore 1
# Same result as above but in two steps: first download the extract, then apply it
tklbam-restore 1 --raw-download=/tmp/mybackup
tklbam-restore /tmp/mybackup
# Restore backup created with tklbam-backup --raw-upload=/srv
tklbam-restore 2 --raw-download=/srv
# Restore from Duplicity archives at a custom backup address on the local filesystem
tklbam-restore --address=file:///mnt/backups/mybackup --keyfile=mybackup.escrow
# Simulate restoring Hub backup id 1 while excluding changes to the /root path,
# mysql 'customers' DB, and the 'emails' table in the 'webapps' DB
tklbam-restore 1 --simulate --limits="-/root -mysql:customers -mysql:webapp/emails"
# Simulate restoring only the /root files in Hub backup id 1
tklbam-restore 1 --simulate --skip-database --skip-packages --limits="/root"
FILES
Hooks: /etc/tklbam/hooks.d