Author: | Liraz Siri <liraz@turnkeylinux.org> |
---|---|
Date: | 2013-09-05 |
Manual section: | 8 |
Manual group: | backup |
tklbam-backup [ -options ] [ override ... ]
<override> := <filesystem-override> | <database-override>
Overrides are usually configured in /etc/tklbam/overrides.
Note overrides that include a space in their path do NOT need to be escaped when included in /etc/tklbam/overrides (just put them on their own line). If excluding/including them from the commandline, they can be escaped or quoted. E.g. /pathwithspace/ or "/path with space/".
<filesystem-override> := -?/path/to/include/or/exclude
This includes or excludes additional files and directories from being backed up if they've changed since installation.
Overrides defaults in /var/lib/tklbam/profile/dirindex.conf
Gotchas:
Examples:
# exclude log files in /var/www -/var/www/*/logs # ignores changes to webmin configuration -/etc/webmin # include the contents of an external hard disk... /mnt/images
<database-override> := -?mysql:database[/table]
<database-override> := -?pgsql:database[/table]
By default ALL databases and database tables are backed up.
Adding a positive override (e.g., mysql:mydatabase) changes the default behavior so that only the database or table specified in the override is included in the backup.
Negative overrides exclude a database (e.g., -mysql:mydatabase) or table (e.g., -mysql:mydatabase/mytable) from being included in the backup.
Excluding a table only excludes its data. The schema of an excluded table is still backed up, as it takes up a trivial amount of space and other tables or views may depend on it.
You can mix positive overrides with negative overrides.
Examples:
# exclude Drupal6 sessions table -mysql:drupal6/sessions # only include drupal6 database mysql:drupal6 # only include mahara postgres database pgsql:mahara
--dump=DIR | Dump a raw backup extract to path. Tip: tklbam-restore path/to/raw/extract/ |
--raw-upload=PATH | |
Use Duplicity to upload raw path contents to --address | |
--address=TARGET_URL | |
custom backup target URL. Default: S3 storage bucket automatically configured via Hub 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
| |
--resume | Resume aborted backup session |
--disable-resume | |
Disable implicit --resume when rerunning an aborted backup | |
--simulate | Simulate operation. Don't actually backup. Useful for inspecting /TKLBAM by hand. |
--quiet, -q | Be less verbose |
--logfile=PATH | Path of file to log output to. Default: /var/log/tklbam-backup |
--debug | Run $SHELL before Duplicity |
--volsize MB | Size of backup volume in MBs. Default: 50 |
--s3-parallel-uploads=N | |
Number of parallel volume chunk uploads Default: 1 | |
--full-backup FREQUENCY | |
Time frequency of full backup. Default: 1M <frequency> := now | <int>[DWM]
| |
--skip-files | Don't backup filesystem |
--skip-database | |
Don't backup databases | |
--skip-packages | |
Don't backup new packages | |
--force-profile=PROFILE_ID | |
Force backup profile (e.g., "core") |
Resolution order for configurable options:
command line (highest precedence)
configuration file (/etc/tklbam/conf):
# comment <option-name> <value>
built-in default (lowest precedence)
# Full system-level backup tklbam-backup # Same result as above but in two steps: first dump to a directory, then upload it tklbam-backup --dump=/tmp/mybackup tklbam-backup --raw-upload=/tmp/mybackup # Backup Duplicity archives to a custom address on the local filesystem tklbam-backup --address=file:///mnt/backups/mybackup tklbam-escrow this-keyfile-needed-to-restore-mybackup.escrow # Simulate a backup that excludes the mysql customers DB and the 'emails' table in the webapp DB # Tip: usually you'd want to configure excludes in /etc/tklbam/overrides tklbam-backup --simulate -- -/srv -mysql:customers -mysql:webapp/emails # Create separate backups with unique backup ids containing the previously excluded items # Tip: use tklbam-status after tklbam-backup to determine the Hub backup ID export TKLBAM_REGISTRY=/var/lib/tklbam.customers-and-webapp-emails tklbam-backup --skip-files --skip-packages -- mysql:customers mysql:webapp/emails export TKLBAM_REGISTRY=/var/lib/tklbam.raw-srv tklbam-backup --raw-upload=/srv
Configuration files: | |
---|---|
/etc/tklbam/overrides, /etc/tklbam/conf, /etc/tklbam/hooks.d | |
Local cache of profile: | |
$TKLBAM_REGISTRY/profile |
By default TKLBAM_REGISTRY=/var/lib/tklbam
tklbam (8), tklbam-faq (7), tklbam-hooks (5)