mirror of https://github.com/digint/btrbk
documentation: remove pre-generated man pages
Package maintainers like to build everything from scratch, removing
overhead. Again, we apologize for the inconvenience.
Note that reproducible builds are still guaranteed by setting
SOURCE_DATE_EPOCH in doc/Makefile.
Reverts: a6dbd60e5a
documentation: add pre-generated man pages: from groff to asciidoc and back again
pull/286/head
parent
f54853dd18
commit
ef69f1ffee
|
@ -1 +1,2 @@
|
||||||
|
*.[1-8]
|
||||||
*.[1-8].gz
|
*.[1-8].gz
|
||||||
|
|
561
doc/btrbk.1
561
doc/btrbk.1
|
@ -1,561 +0,0 @@
|
||||||
'\" t
|
|
||||||
.\" Title: btrbk
|
|
||||||
.\" Author: [see the "AUTHOR(S)" section]
|
|
||||||
.\" Generator: Asciidoctor 1.5.7.1
|
|
||||||
.\" Date: 2019-04-24
|
|
||||||
.\" Manual: Btrbk Manual
|
|
||||||
.\" Source: Btrbk 0.28.0
|
|
||||||
.\" Language: English
|
|
||||||
.\"
|
|
||||||
.TH "BTRBK" "1" "2019-04-24" "Btrbk 0.28.0" "Btrbk Manual"
|
|
||||||
.ie \n(.g .ds Aq \(aq
|
|
||||||
.el .ds Aq '
|
|
||||||
.ss \n[.ss] 0
|
|
||||||
.nh
|
|
||||||
.ad l
|
|
||||||
.de URL
|
|
||||||
\fI\\$2\fP <\\$1>\\$3
|
|
||||||
..
|
|
||||||
.als MTO URL
|
|
||||||
.if \n[.g] \{\
|
|
||||||
. mso www.tmac
|
|
||||||
. am URL
|
|
||||||
. ad l
|
|
||||||
. .
|
|
||||||
. am MTO
|
|
||||||
. ad l
|
|
||||||
. .
|
|
||||||
. LINKSTYLE blue R < >
|
|
||||||
.\}
|
|
||||||
.SH "NAME"
|
|
||||||
btrbk \- backup tool for btrfs subvolumes
|
|
||||||
.SH "SYNOPSIS"
|
|
||||||
.sp
|
|
||||||
.nf
|
|
||||||
btrbk [\-h|\-\-help] [\-\-version]
|
|
||||||
[\-c|\-\-config <file>] [\-n|\-\-dry\-run] [\-\-exclude <filter>]
|
|
||||||
[\-p|\-\-preserve] [\-\-preserve\-snapshots] [\-\-preserve\-backups]
|
|
||||||
[\-v|\-\-verbose] [\-q|\-\-quiet] [\-l|\-\-loglevel <level>]
|
|
||||||
[\-t|\-\-table] [\-\-format <output\-format>]
|
|
||||||
[\-S|\-\-print\-schedule] [\-\-progress]
|
|
||||||
[\-\-lockfile <file>]
|
|
||||||
[\-\-override <config_option>=<value>]
|
|
||||||
<command> [<args>]
|
|
||||||
.fi
|
|
||||||
.br
|
|
||||||
.SH "DESCRIPTION"
|
|
||||||
.sp
|
|
||||||
\fBbtrbk\fP is a backup tool for btrfs subvolumes, taking advantage of
|
|
||||||
btrfs specific capabilities to create atomic snapshots and transfer
|
|
||||||
them incrementally to a target btrfs filesystem. It is able to perform
|
|
||||||
backups from one source to multiple destinations.
|
|
||||||
.sp
|
|
||||||
For most operations, \fBbtrbk\fP requires \fIroot privileges\fP to run
|
|
||||||
correctly. Alternatively, consider using "btrfs\-progs\-sudo" or
|
|
||||||
"btrfs\-progs\-btrbk" backends, both of which allows you to run btrbk as
|
|
||||||
a regular user. Refer to configuration option \fIbackend\fP in
|
|
||||||
btrbk.conf(5) for more details.
|
|
||||||
.SS "Snapshots and Backups"
|
|
||||||
.sp
|
|
||||||
Snapshots as well as backup subvolumes are created in form:
|
|
||||||
.sp
|
|
||||||
.if n .RS 4
|
|
||||||
.nf
|
|
||||||
<snapshot\-name>.<timestamp>[_N]
|
|
||||||
.fi
|
|
||||||
.if n .RE
|
|
||||||
.sp
|
|
||||||
Where \fI<snapshot\-name>\fP is identical to the source subvolume name,
|
|
||||||
unless the configuration option \fIsnapshot_name\fP is set. The
|
|
||||||
<timestamp> is either "YYYYMMDD" or "YYYYMMDDThhmm" (dependent of the
|
|
||||||
\fItimestamp_format\fP configuration option), where "YYYY" is the year,
|
|
||||||
"MM" is the month, "DD" is the day, "hh" is the hour and "mm" is the
|
|
||||||
minute of the creation time (local time of the host running btrbk). If
|
|
||||||
multiple snapshots/backups are created on the same date/time, N will
|
|
||||||
be incremented on each snapshot, starting at 1.
|
|
||||||
.sp
|
|
||||||
Note that \fIsnapshot\fP is a btrfs terminology for a \(lqread\-only
|
|
||||||
subvolume\(rq (showing a parent\-uuid, see btrfs\-subvolume(8)); \fIbackup\fP
|
|
||||||
is a btrbk terminology for a \(lqread\-only subvolume created with
|
|
||||||
send/receive\(rq (showing a received\-uuid).
|
|
||||||
.SH "OPTIONS"
|
|
||||||
.sp
|
|
||||||
\-h, \-\-help
|
|
||||||
.RS 4
|
|
||||||
Prints the synopsis and a list of the commands.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\-\-version
|
|
||||||
.RS 4
|
|
||||||
Prints the btrbk version.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\-c, \-\-config <file>
|
|
||||||
.RS 4
|
|
||||||
Read the configuration from <file>.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\-n, \-\-dry\-run
|
|
||||||
.RS 4
|
|
||||||
Don\(cqt run anything that would alter the filesystem, just show the
|
|
||||||
snapshots and backup subvolumes that would be created/deleted by
|
|
||||||
the \fBrun\fP, \fBsnapshot\fP, \fBresume\fP, \fBprune\fP, \fBarchive\fP and \fBclean\fP
|
|
||||||
commands. Use in conjunction with \fI\-l debug\fP to see the btrfs
|
|
||||||
commands that would be executed.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\-\-exclude <filter>
|
|
||||||
.RS 4
|
|
||||||
Exclude configured sections matching \fI<filter>\fP. See
|
|
||||||
FILTER STATEMENTS below
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\-p, \-\-preserve
|
|
||||||
.RS 4
|
|
||||||
Preserve all snapshots and backups. Skips deletion of any
|
|
||||||
snapshots and backups, even if specified in the configuration file
|
|
||||||
(shortcut for "\-\-preserve\-snapshots \-\-preserve\-backups").
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\-\-preserve\-snapshots
|
|
||||||
.RS 4
|
|
||||||
Preserve all snapshots. Skips deletion of any snapshots, even if
|
|
||||||
specified in the configuration file.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\-\-preserve\-backups
|
|
||||||
.RS 4
|
|
||||||
Preserve all backups. Skips deletion of any backups, even if
|
|
||||||
specified in the configuration file.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\-\-wipe
|
|
||||||
.RS 4
|
|
||||||
Ignore configured snapshot retention policy, delete all but latest
|
|
||||||
snapshots instead. All snapshots needed for incremental backup
|
|
||||||
(latest common) are also preserved. Useful if you are getting low
|
|
||||||
on disk space (ENOSPC).
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\-v, \-\-verbose
|
|
||||||
.RS 4
|
|
||||||
Verbose output (shortcut for "\-\-loglevel=info").
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\-q, \-\-quiet
|
|
||||||
.RS 4
|
|
||||||
Quiet operation. If set, btrbk does not print the summary after
|
|
||||||
executing the \fBrun\fP, \fBsnapshot\fP, \fBresume\fP, \fBprune\fP, or \fBarchive\fP
|
|
||||||
commands.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\-l, \-\-loglevel <level>
|
|
||||||
.RS 4
|
|
||||||
Set the level of verbosity. Accepted levels are warn, info, debug,
|
|
||||||
and trace.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\-t, \-\-table
|
|
||||||
.RS 4
|
|
||||||
Print output in table format (shortcut for "\-\-format=table").
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\-\-format table|long|raw
|
|
||||||
.RS 4
|
|
||||||
Print output in specified format. If set to "raw", prints
|
|
||||||
space\-separated key="value" pairs (machine readable). Affects
|
|
||||||
output format for \fBrun\fP, \fBsnapshot\fP, \fBresume\fP, \fBprune\fP, \fBarchive\fP
|
|
||||||
and \fBlist\fP commands. Useful for further exporting/scripting.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\-S, \-\-print\-schedule
|
|
||||||
.RS 4
|
|
||||||
Print detailed scheduler information on \fBrun\fP, \fBsnapshot\fP,
|
|
||||||
\fBresume\fP, \fBprune\fP and \fBarchive\fP commands. Use the \fI\-\-format\fP
|
|
||||||
command line option to switch between different output formats.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\-\-progress
|
|
||||||
.RS 4
|
|
||||||
Show progress bar on send\-receive operation.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\-\-lockfile <file>
|
|
||||||
.RS 4
|
|
||||||
Create lockfile <file> on startup; checks lockfile before running
|
|
||||||
any btrfs commands (using perl "flock"), and exits if the lock is
|
|
||||||
held by another btrbk instance. Overrides configuration option
|
|
||||||
"lockfile". Ignored on dryrun (\fI\-n\fP, \fI\-\-dry\-run\fP).
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\-\-override <config_option>=<value>
|
|
||||||
.RS 4
|
|
||||||
Override a configuration option <config_option> with
|
|
||||||
<value>. Globally, for ALL contexts. Use with care!
|
|
||||||
.RE
|
|
||||||
.SH "COMMANDS"
|
|
||||||
.SS "Actions"
|
|
||||||
.sp
|
|
||||||
The following commands are used to create snapshots and/or
|
|
||||||
backups. All actions can operate in dry\-run mode (\fI\-n\fP, \fI\-\-dry\-run\fP).
|
|
||||||
Use the \fI\-\-format\fP command line option to switch between different
|
|
||||||
output formats.
|
|
||||||
.sp
|
|
||||||
See section RETENTION POLICY in \fBbtrbk.conf\fP(5) for information on
|
|
||||||
configuring the retention policy.
|
|
||||||
.sp
|
|
||||||
\fBrun\fP [filter...]
|
|
||||||
.RS 4
|
|
||||||
Perform snapshot and backup operations as specified in the
|
|
||||||
configuration file. If the optional [filter...] arguments are
|
|
||||||
present, snapshots and backups are only performed for the
|
|
||||||
subvolumes/targets matching a filter statement (see
|
|
||||||
FILTER STATEMENTS below).
|
|
||||||
.sp
|
|
||||||
\fBStep 0: Read Data\fP
|
|
||||||
.RS 4
|
|
||||||
Read information from the source and target btrfs filesystems in
|
|
||||||
order to perform sanity checks and identify parent/child and
|
|
||||||
received\-from relationships.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBStep 1: Create Snapshots\fP
|
|
||||||
.RS 4
|
|
||||||
If the checks succeed, btrbk creates snapshots for the source
|
|
||||||
subvolumes specified in the configuration file, according to the
|
|
||||||
\fIsnapshot_create\fP option.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBStep 2: Create Backups\fP
|
|
||||||
.RS 4
|
|
||||||
For each specified target, btrbk creates the backups as follows:
|
|
||||||
After comparing the backups to the source snapshots, btrbk
|
|
||||||
transfers all missing snapshots needed to satisfy the configured
|
|
||||||
target retention policy, incrementally from the latest common
|
|
||||||
parent subvolume found. If no common parent subvolume is found (or
|
|
||||||
if the \fIincremental\fP option is set to \(lqno\(rq), a full
|
|
||||||
(non\-incremental) backup is created.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBStep 3: Delete Backups\fP
|
|
||||||
.RS 4
|
|
||||||
Unless the \-p, \-\-preserve or \-\-preserve\-backups option is set,
|
|
||||||
backup subvolumes that are not preserved by their configured
|
|
||||||
retention policy will be deleted. Note that the latest
|
|
||||||
snapshot/backup pair are always preserved, regardless of the
|
|
||||||
retention policy.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBStep 4: Delete Snapshots\fP
|
|
||||||
.RS 4
|
|
||||||
Unless the \-p, \-\-preserve or \-\-preserve\-snapshots option is set,
|
|
||||||
snapshots that are not preserved by their configured retention
|
|
||||||
policy will be deleted. Note that the latest snapshot (the one
|
|
||||||
created in step 1) as well as the latest snapshot/backup pair are
|
|
||||||
always preserved, regardless of the retention policy.
|
|
||||||
.RE
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBdryrun\fP [filter...]
|
|
||||||
.RS 4
|
|
||||||
Don\(cqt run any btrfs commands that would alter the filesystem, just
|
|
||||||
show the snapshots and backup subvolumes that would be
|
|
||||||
created/deleted by the \fBrun\fP command. Use in conjunction with \fI\-l
|
|
||||||
debug\fP to see the btrfs commands that would be executed.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBsnapshot\fP [filter...]
|
|
||||||
.RS 4
|
|
||||||
Snapshot only: skips backup creation and deletion (steps 2 and
|
|
||||||
3). Use in conjunction with \-p, \-\-preserve (or
|
|
||||||
\-\-preserve\-snapshots) if you also want to skip snapshot deletion
|
|
||||||
(step 4).
|
|
||||||
.sp
|
|
||||||
Note that snapshot deletion is skipped if the target is not
|
|
||||||
accessible, as it is still required in order to determine the latest
|
|
||||||
snapshot/backup pair (which is always preserved, regardless of the
|
|
||||||
retention policy).
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBresume\fP [filter...]
|
|
||||||
.RS 4
|
|
||||||
Resume backups: skips snapshot creation (step 1), transfers and
|
|
||||||
deletes snapshots/backups in order to satisfy their configured
|
|
||||||
retention policy. Use in conjunction with \-p, \-\-preserve,
|
|
||||||
\-\-preserve\-backups, \-\-preserve\-snapshots if you want to skip
|
|
||||||
backup and/or snapshot deletion (steps 3, 4).
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBprune\fP [filter...]
|
|
||||||
.RS 4
|
|
||||||
Prune snapshots and backups: skips snapshot and backup creation
|
|
||||||
(steps 1, 2), only deletes snapshots and backups in order to
|
|
||||||
satisfy their configured retention policy. Useful for cleaning the
|
|
||||||
disk after changing the retention policy. Use in conjunction with
|
|
||||||
\-\-preserve\-backups, \-\-preserve\-snapshots if you want to skip
|
|
||||||
backup or snapshot deletion (steps 3, 4).
|
|
||||||
.sp
|
|
||||||
Note that deletion is skipped if source or target is not accessible,
|
|
||||||
as it is still required in order to determine the latest
|
|
||||||
snapshot/backup pair (which is always preserved, regardless of the
|
|
||||||
retention policy).
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBarchive\fP <source> <target>
|
|
||||||
.RS 4
|
|
||||||
Recursively copy all subvolumes created by btrbk from <source> to
|
|
||||||
<target> directory, optionally rescheduled using
|
|
||||||
\fIarchive_preserve_*\fP configuration options. Also creates directory
|
|
||||||
tree on <target>. Useful for creating extra archive copies
|
|
||||||
(clones) from your backup disks. Note that you can continue using
|
|
||||||
btrbk after swapping your backup disk with the archive disk.
|
|
||||||
.sp
|
|
||||||
If you want to use nested subvolumes on the target filesystem, you
|
|
||||||
need to create them by hand (e.g. by running "btrfs subvolume create
|
|
||||||
<target>/dir"). Check the output of \-\-dry\-run if unsure.
|
|
||||||
.sp
|
|
||||||
Note that this feature needs a \fBlinux kernel >=4.4\fP to work correctly!
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBclean\fP [filter...]
|
|
||||||
.RS 4
|
|
||||||
Delete incomplete (garbled) backups. Incomplete backups can be
|
|
||||||
left behind on network errors or kill signals while a send/receive
|
|
||||||
operation is ongoing, and are identified by the "received_uuid"
|
|
||||||
flag not being set on a target (backup) subvolume.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
The following table gives a quick overview of the action commands and
|
|
||||||
resulting snapshot creation (S+), backup creation (B+), snapshot
|
|
||||||
deletion (S\-), and backup deletion (B\-):
|
|
||||||
.sp
|
|
||||||
.if n .RS 4
|
|
||||||
.nf
|
|
||||||
Command Option S+ B+ S\- B\-
|
|
||||||
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
|
|
||||||
run x x x x
|
|
||||||
run \-\-preserve x x
|
|
||||||
run \-\-preserve\-snapshots x x x
|
|
||||||
run \-\-preserve\-backups x x x
|
|
||||||
snapshot x x
|
|
||||||
snapshot \-\-preserve x
|
|
||||||
resume x x x
|
|
||||||
resume \-\-preserve x
|
|
||||||
resume \-\-preserve\-snapshots x x
|
|
||||||
resume \-\-preserve\-backups x x
|
|
||||||
prune x x
|
|
||||||
prune \-\-preserve\-snapshots x
|
|
||||||
prune \-\-preserve\-backups x
|
|
||||||
.fi
|
|
||||||
.if n .RE
|
|
||||||
.SS "Informative Commands"
|
|
||||||
.sp
|
|
||||||
The following commands are informative only, and will not alter the
|
|
||||||
file system.
|
|
||||||
.sp
|
|
||||||
\fBstats\fP [filter...]
|
|
||||||
.RS 4
|
|
||||||
Print statistics of snapshot and backup subvolumes. Optionally
|
|
||||||
filtered by [filter...] arguments (see FILTER
|
|
||||||
STATEMENTS below).
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBlist\fP <subcommand> [filter...]
|
|
||||||
.RS 4
|
|
||||||
Print information defined by <subcommand> in a tabular
|
|
||||||
form. Optionally filtered by [filter...] arguments (see
|
|
||||||
FILTER STATEMENTS below).
|
|
||||||
.sp
|
|
||||||
Available subcommands:
|
|
||||||
.sp
|
|
||||||
\fBsnapshots\fP
|
|
||||||
.RS 4
|
|
||||||
List all snapshots (and corresponding backups). Note
|
|
||||||
that all snapshots related to configured subvolumes are
|
|
||||||
listed, not only the ones created by btrbk.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBbackups\fP
|
|
||||||
.RS 4
|
|
||||||
List all backups (and corresponding snapshots).
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBlatest\fP
|
|
||||||
.RS 4
|
|
||||||
List most recent common snapshot/backup pair, or most
|
|
||||||
recent snapshot if no common found.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBconfig\fP
|
|
||||||
.RS 4
|
|
||||||
List configured source/snapshot/target relations.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBsource\fP
|
|
||||||
.RS 4
|
|
||||||
List configured source/snapshot relations.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBvolume\fP
|
|
||||||
.RS 4
|
|
||||||
List configured volume sections.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBtarget\fP
|
|
||||||
.RS 4
|
|
||||||
List configured targets.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
Use the \fI\-\-format\fP command line option to switch between
|
|
||||||
different output formats.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBusage\fP [filter...]
|
|
||||||
.RS 4
|
|
||||||
Print filesystem usage information for all source/target volumes,
|
|
||||||
optionally filtered by [filter...] arguments (see
|
|
||||||
FILTER STATEMENTS below). Note that the
|
|
||||||
"free" value is an estimate of the amount of data that can still
|
|
||||||
be written to the file system.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBorigin\fP <subvolume>
|
|
||||||
.RS 4
|
|
||||||
Print the subvolume origin tree: Shows the parent\-child
|
|
||||||
relationships as well as the received\-from information. Use the
|
|
||||||
\fI\-\-format\fP command line option to switch between different output
|
|
||||||
formats.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBdiff\fP <from> <to>
|
|
||||||
.RS 4
|
|
||||||
Print new files since subvolume <from> for subvolume <to>.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBconfig\fP print|print\-all
|
|
||||||
.RS 4
|
|
||||||
Prints the parsed configuration file. Use the \fI\-\-format\fP command
|
|
||||||
line option to switch between different output formats.
|
|
||||||
.RE
|
|
||||||
.SH "FILTER STATEMENTS"
|
|
||||||
.sp
|
|
||||||
Filter arguments are accepted in form:
|
|
||||||
.sp
|
|
||||||
<group\-name>
|
|
||||||
.RS 4
|
|
||||||
Matches the \fIgroup\fP configuration option of \fIvolume\fP, \fIsubvolume\fP
|
|
||||||
or \fItarget\fP sections.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
<hostname>[:<port>]
|
|
||||||
.RS 4
|
|
||||||
Matches the \fIhostname\fP portion from \fI<url>\fP of \fIvolume\fP or
|
|
||||||
\fItarget\fP sections.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
<directory>|<url>
|
|
||||||
.RS 4
|
|
||||||
Matches \fIvolume\fP, \fIsubvolume\fP or \fItarget\fP sections by either
|
|
||||||
relative or absolute path (if starting with "/" or "ssh://" or
|
|
||||||
"<hostname>:/"), accepting wildcard character "*". Relative paths
|
|
||||||
are matched against the end of the pathname. Either:
|
|
||||||
.sp
|
|
||||||
<volume\-directory>
|
|
||||||
.RS 4
|
|
||||||
Matches \fIvolume\fP sections.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
<volume\-directory>/<subvolume\-name>
|
|
||||||
.RS 4
|
|
||||||
Matches \fIsubvolume\fP sections.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
<volume\-directory>/<snapshot\-dir>/<snapshot\-name>
|
|
||||||
.RS 4
|
|
||||||
Matches \fIsubvolume\fP sections defining snapshots with the
|
|
||||||
configured \fIsnapshot_dir\fP and \fIsnapshot_name\fP.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
<target\-directory>
|
|
||||||
.RS 4
|
|
||||||
Matches \fItarget\fP sections.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
<target\-directory>/<snapshot\-name>
|
|
||||||
.RS 4
|
|
||||||
Matches \fItarget\fP sections within \fIsubvolume\fP sections defining
|
|
||||||
snapshots with the configured \fIsnapshot_name\fP.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
Accepted formats for \fI<url>\fP are:
|
|
||||||
.sp
|
|
||||||
.if n .RS 4
|
|
||||||
.nf
|
|
||||||
ssh://<hostname>[:<port>]/<directory>
|
|
||||||
<hostname>:<directory>
|
|
||||||
.fi
|
|
||||||
.if n .RE
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
Note that for \fBrun\fP and \fBsnapshot\fP commands, a filter matching a
|
|
||||||
\fItarget\fP configuration section also enables snapshot creation of the
|
|
||||||
surrounding \fIsubvolume\fP section. If this is not desired, consider
|
|
||||||
running \fBsnapshot\fP and \fBresume\fP commands separately.
|
|
||||||
.SH "FILES"
|
|
||||||
.sp
|
|
||||||
\f(CR/etc/btrbk.conf\fP, \f(CR/etc/btrbk/btrbk.conf\fP
|
|
||||||
.RS 4
|
|
||||||
Default configuration file. The file format and configuration
|
|
||||||
options are described in \fBbtrbk.conf\fP(5).
|
|
||||||
.RE
|
|
||||||
.SH "EXIT STATUS"
|
|
||||||
.sp
|
|
||||||
\fBbtrbk\fP returns the following error codes:
|
|
||||||
.sp
|
|
||||||
0
|
|
||||||
.RS 4
|
|
||||||
No problems occurred.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
1
|
|
||||||
.RS 4
|
|
||||||
Generic error code.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
2
|
|
||||||
.RS 4
|
|
||||||
Parse error: when parsing command\-line options or configuration
|
|
||||||
file.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
3
|
|
||||||
.RS 4
|
|
||||||
Lockfile error: if lockfile is present on startup.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
10
|
|
||||||
.RS 4
|
|
||||||
Backup abort: At least one backup task aborted.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
255
|
|
||||||
.RS 4
|
|
||||||
Script error.
|
|
||||||
.RE
|
|
||||||
.SH "AVAILABILITY"
|
|
||||||
.sp
|
|
||||||
Please refer to the btrbk project page \fB\c
|
|
||||||
.URL "https://digint.ch/btrbk/" "" "\fP"
|
|
||||||
for further details.
|
|
||||||
.SH "SEE ALSO"
|
|
||||||
.sp
|
|
||||||
\fBbtrbk.conf\fP(5),
|
|
||||||
\fBbtrfs\fP(8)
|
|
||||||
.sp
|
|
||||||
For more information about btrfs and incremental backups, see the web
|
|
||||||
site at \c
|
|
||||||
.URL "https://btrfs.wiki.kernel.org/index.php/Incremental_Backup" "" ""
|
|
||||||
.SH "AUTHOR"
|
|
||||||
.sp
|
|
||||||
Axel Burri <\c
|
|
||||||
.MTO "axel\(attty0.ch" "" ">"
|
|
744
doc/btrbk.conf.5
744
doc/btrbk.conf.5
|
@ -1,744 +0,0 @@
|
||||||
'\" t
|
|
||||||
.\" Title: btrbk.conf
|
|
||||||
.\" Author: [see the "AUTHOR(S)" section]
|
|
||||||
.\" Generator: Asciidoctor 1.5.7.1
|
|
||||||
.\" Date: 2019-04-24
|
|
||||||
.\" Manual: Btrbk Manual
|
|
||||||
.\" Source: Btrbk 0.28.0
|
|
||||||
.\" Language: English
|
|
||||||
.\"
|
|
||||||
.TH "BTRBK.CONF" "5" "2019-04-24" "Btrbk 0.28.0" "Btrbk Manual"
|
|
||||||
.ie \n(.g .ds Aq \(aq
|
|
||||||
.el .ds Aq '
|
|
||||||
.ss \n[.ss] 0
|
|
||||||
.nh
|
|
||||||
.ad l
|
|
||||||
.de URL
|
|
||||||
\fI\\$2\fP <\\$1>\\$3
|
|
||||||
..
|
|
||||||
.als MTO URL
|
|
||||||
.if \n[.g] \{\
|
|
||||||
. mso www.tmac
|
|
||||||
. am URL
|
|
||||||
. ad l
|
|
||||||
. .
|
|
||||||
. am MTO
|
|
||||||
. ad l
|
|
||||||
. .
|
|
||||||
. LINKSTYLE blue R < >
|
|
||||||
.\}
|
|
||||||
.SH "NAME"
|
|
||||||
btrbk.conf \- btrbk configuration file
|
|
||||||
.SH "SYNOPSIS"
|
|
||||||
.sp
|
|
||||||
.nf
|
|
||||||
/etc/btrbk.conf
|
|
||||||
/etc/btrbk/btrbk.conf
|
|
||||||
.fi
|
|
||||||
.br
|
|
||||||
.SH "DESCRIPTION"
|
|
||||||
.sp
|
|
||||||
The btrbk configuration file specifies which btrfs subvolumes on the
|
|
||||||
filesystem are to be processed, what target subvolumes should be used
|
|
||||||
to create the backups, and where the snapshots should be
|
|
||||||
generated. The retention policy, as well as most other options can be
|
|
||||||
defined either globally or within a section.
|
|
||||||
.sp
|
|
||||||
The options specified always apply to the last section encountered,
|
|
||||||
superseding the values set in upper\-level sections. This means that
|
|
||||||
global options must be set before any sections are defined.
|
|
||||||
.sp
|
|
||||||
Blank lines are ignored. A hash character (#) starts a comment
|
|
||||||
extending until end of line.
|
|
||||||
.sp
|
|
||||||
Whitespace or unicode characters are not allowed for file
|
|
||||||
names. Allowed characters are:
|
|
||||||
.sp
|
|
||||||
.if n .RS 4
|
|
||||||
.nf
|
|
||||||
[0\-9] [a\-z] [A\-Z] and "._+\-@"
|
|
||||||
.fi
|
|
||||||
.if n .RE
|
|
||||||
.sp
|
|
||||||
This is for sanity/safety/security reasons, we apologize for the
|
|
||||||
inconvenience.
|
|
||||||
.SH "SECTIONS"
|
|
||||||
.sp
|
|
||||||
\fBvolume\fP <volume\-directory>|<url>
|
|
||||||
.RS 4
|
|
||||||
Directory of a btrfs volume containing the source subvolume(s) to
|
|
||||||
be backed up. \fI<volume\-directory>\fP must be an absolute path and
|
|
||||||
point to a btrfs volume (or subvolume). Usually the mount point of
|
|
||||||
a btrfs filesystem mounted with the \fIsubvolid=5\fP option.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBsubvolume\fP <subvolume\-name>
|
|
||||||
.RS 4
|
|
||||||
Subvolume to be backed up, relative to the \fI<volume\-directory>\fP
|
|
||||||
specified in the \fIvolume\fP section. Multiple \fIsubvolume\fP sections
|
|
||||||
are allowed within \fIvolume\fP sections. Accepts wildcard character
|
|
||||||
"*".
|
|
||||||
.sp
|
|
||||||
If set to ".", the subvolume at \fI<volume\-directory>\fP is used as backup
|
|
||||||
source, and the snapshots will be created within the source subvolume
|
|
||||||
itself (see \fIsnapshot_dir\fP option below), which is not recommended.
|
|
||||||
Note that if this subvolume is btrfs root (id=5), it needs to have a
|
|
||||||
valid UUID, which is not the case for file systems created with
|
|
||||||
btrfs\-progs < 4.16.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBtarget\fP [send\-receive|raw] <target\-directory>|<url>
|
|
||||||
.RS 4
|
|
||||||
Target directory where the backup subvolumes are to be
|
|
||||||
created. The optional target type defaults to \(lqsend\-receive\(rq,
|
|
||||||
see TARGET TYPES below for details.
|
|
||||||
.sp
|
|
||||||
Multiple \fItarget\fP sections are allowed, in any context: a \fItarget\fP
|
|
||||||
defined in \fIvolume\fP or global context will be used for all underlying
|
|
||||||
\fIsubvolume\fP sections (hint: run "btrbk list" or "btrbk config print"
|
|
||||||
to see the resulting configuration).
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
If a \fI<url>\fP is specified, btrbk actions (shell commands) are executed
|
|
||||||
remotely via ssh, using the SSH Options described
|
|
||||||
below. Accepted formats are:
|
|
||||||
.sp
|
|
||||||
.if n .RS 4
|
|
||||||
.nf
|
|
||||||
ssh://<hostname>[:<port>]/<directory>
|
|
||||||
<hostname>:<directory>
|
|
||||||
.fi
|
|
||||||
.if n .RE
|
|
||||||
.sp
|
|
||||||
If you are connecting to virtual machines, consider configuring
|
|
||||||
several \fIvolume\fP sections for a \fI<hostname>\fP, with distinct \fI<port>\fP
|
|
||||||
numbers for each machine.
|
|
||||||
.SH "OPTIONS"
|
|
||||||
.sp
|
|
||||||
The options described here can be specified in \fIglobal context\fP as
|
|
||||||
well as \fIvolume\fP, \fIsubvolume\fP and \fItarget\fP sections, unless stated
|
|
||||||
otherwise.
|
|
||||||
.SS "Basic Options"
|
|
||||||
.sp
|
|
||||||
\fBtimestamp_format\fP short|long|long\-iso
|
|
||||||
.RS 4
|
|
||||||
Timestamp format used as postfix for new snapshot subvolume
|
|
||||||
names. Defaults to \(lqshort\(rq.
|
|
||||||
.sp
|
|
||||||
\fBshort\fP
|
|
||||||
.RS 4
|
|
||||||
\f(CRYYYYMMDD[_N]\fP (e.g. "20150825", "20150825_1")
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBlong\fP
|
|
||||||
.RS 4
|
|
||||||
\f(CRYYYYMMDD<T>hhmm[_N]\fP (e.g. "20150825T1531")
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBlong\-iso\fP
|
|
||||||
.RS 4
|
|
||||||
\f(CRYYYYMMDD<T>hhmmss±hhmm[_N]\fP (e.g. "20150825T153123+0200")
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
Note that a postfix "_N" is appended to the timestamp if a snapshot or
|
|
||||||
backup already exists with the timestamp of current date/time.
|
|
||||||
.sp
|
|
||||||
Use \(lqlong\-iso\(rq if you want to make sure that btrbk never
|
|
||||||
creates ambiguous time stamps (which can happen if multiple
|
|
||||||
snapshots are created during a daylight saving time clock
|
|
||||||
change).
|
|
||||||
.sp
|
|
||||||
Note that using \(lqlong\-iso\(rq has implications on the scheduling, see
|
|
||||||
RETENTION POLICY (caveats) below.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBsnapshot_dir\fP <directory>
|
|
||||||
.RS 4
|
|
||||||
Directory in which the btrfs snapshots are created, relative to
|
|
||||||
\fI<volume\-directory>\fP of the \fIvolume\fP section. Note that btrbk does
|
|
||||||
not autmatically create this directory, and the snapshot creation
|
|
||||||
will fail if it is not present.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBsnapshot_name\fP <basename>
|
|
||||||
.RS 4
|
|
||||||
Base name of the created snapshot (and backup). This option is
|
|
||||||
only valid in the \fIsubvolume\fP section. Defaults to
|
|
||||||
\fI<subvolume\-name>\fP.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBsnapshot_create\fP always|onchange|ondemand|no
|
|
||||||
.RS 4
|
|
||||||
If set to \(lqalways\(rq, snapshots are always created. If set to
|
|
||||||
\(lqonchange\(rq, snapshots are only created if the source subvolume
|
|
||||||
has changed since the last snapshot (more precisely: if the btrfs
|
|
||||||
generation has been increased since the last snapshot). If set to
|
|
||||||
\(lqondemand\(rq, snapshots are only created if at least one target
|
|
||||||
subvolume is reachable (useful if you are tight on disk space and
|
|
||||||
you only need btrbk for backups to an external disk which is not
|
|
||||||
always connected). If set to \(lqno\(rq, the snapshots are never
|
|
||||||
created (useful if another instance of btrbk is taking care of
|
|
||||||
snapshot creation). Defaults to \(lqalways\(rq.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBincremental\fP yes|no|strict
|
|
||||||
.RS 4
|
|
||||||
If set, incremental backups are created. If set to \(lqstrict\(rq,
|
|
||||||
non\-incremental (initial) backups are never created, and
|
|
||||||
incremental backups are restricted to \fIrelated parents\fP (by
|
|
||||||
parent\-uuid relationship). Defaults to \(lqyes\(rq.
|
|
||||||
.sp
|
|
||||||
Note that even if the parent\-uuid chain is broken, snapshots and
|
|
||||||
backups can still share data (which is especially true for backups
|
|
||||||
created with \fIincremental\fP option enabled), and are perfectly suitable
|
|
||||||
as parents for incremental send\-receive operations. But as btrbk can
|
|
||||||
not be certain about this, such operations are disallowed in
|
|
||||||
"incremental strict" mode.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBnoauto\fP yes|no
|
|
||||||
.RS 4
|
|
||||||
If set, the context is skipped by all btrbk actions unless
|
|
||||||
explicitely enabled by a matching btrbk \fI<filter>\fP command line
|
|
||||||
argument (e.g. "btrbk run myfilter").
|
|
||||||
.RE
|
|
||||||
.SS "Grouping Options"
|
|
||||||
.sp
|
|
||||||
\fBgroup\fP <group\-name> [<group\-name>]...
|
|
||||||
.RS 4
|
|
||||||
Add the current section (volume, subvolume or target) to
|
|
||||||
user\-defined groups, which can be used as filter for most btrbk
|
|
||||||
commands. This option can be set multiple times within the same
|
|
||||||
context.
|
|
||||||
.RE
|
|
||||||
.SS "Retention Policy Options"
|
|
||||||
.sp
|
|
||||||
\fBpreserve_day_of_week\fP monday|tuesday|...|sunday
|
|
||||||
.RS 4
|
|
||||||
Defines on what day a snapshot/backup is considered to be a
|
|
||||||
"weekly" backup. Weekly, monthly and yearly backups are preserved
|
|
||||||
on this day of week (see RETENTION POLICY
|
|
||||||
below). Defaults to \(lqsunday\(rq.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBpreserve_hour_of_day\fP [0..23]
|
|
||||||
.RS 4
|
|
||||||
Defines after what time (in full hours since midnight) a
|
|
||||||
snapshot/backup is considered to be a "daily" backup. Daily,
|
|
||||||
weekly, monthly and yearly backups are preserved on this hour (see
|
|
||||||
RETENTION POLICY below). If you set this
|
|
||||||
option, make sure to also set \fItimestamp_format\fP to \(lqlong\(rq or
|
|
||||||
\(lqlong\-iso\(rq (backups and snapshots having no time information
|
|
||||||
will ignore this option). Defaults to \(lq0\(rq.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBsnapshot_preserve\fP no|<retention_policy>
|
|
||||||
.RS 4
|
|
||||||
Set retention policy for snapshots (see
|
|
||||||
RETENTION POLICY below). If set to \(lqno\(rq,
|
|
||||||
preserve snapshots according to \fIsnapshot_preserve_min\fP
|
|
||||||
only. Defaults to \(lqno\(rq.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBsnapshot_preserve_min\fP all|latest|<number>{h,d,w,m,y}
|
|
||||||
.RS 4
|
|
||||||
Preserve all snapshots for a minimum amount of hours (h), days
|
|
||||||
(d), weeks (w), months (m) or years (y), regardless of how many
|
|
||||||
there are. If set to \(lqall\(rq, preserve all snapshots forever. If
|
|
||||||
set to \(lqlatest\(rq, preserve latest snapshot. Defaults to \(lqall\(rq.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBtarget_preserve\fP no|<retention_policy>
|
|
||||||
.RS 4
|
|
||||||
Set retention policy for backups (see
|
|
||||||
RETENTION POLICY below). If set to \(lqno\(rq,
|
|
||||||
preserve backups according to \fItarget_preserve_min\fP only. Defaults
|
|
||||||
to \(lqno\(rq.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBtarget_preserve_min\fP all|latest|no|<number>{h,d,w,m,y}
|
|
||||||
.RS 4
|
|
||||||
Preserve all backups for a minimum amount of hours (h), days (d),
|
|
||||||
weeks (w), months (m) or years (y), regardless of how many there
|
|
||||||
are. If set to \(lqall\(rq, preserve all backups forever. If set to
|
|
||||||
\(lqlatest\(rq, always preserve the latest backup (useful in
|
|
||||||
conjunction with "target_preserve no", if you want to keep the
|
|
||||||
latest backup only). If set to \(lqno\(rq, only the backups following
|
|
||||||
the \fItarget_preserve\fP policy are created. Defaults to \(lqall\(rq.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBarchive_preserve\fP no|<retention_policy>
|
|
||||||
.RS 4
|
|
||||||
Set retention policy for archives ("btrbk archive" command), with
|
|
||||||
same semantics as \fItarget_preserve\fP.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBarchive_preserve_min\fP all|latest|no|<number>{h,d,w,m,y}
|
|
||||||
.RS 4
|
|
||||||
Set retention policy for archives ("btrbk archive" command), with
|
|
||||||
same semantics as \fItarget_preserve_min\fP.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBarchive_exclude\fP <pattern>
|
|
||||||
.RS 4
|
|
||||||
Exclude subvolumes matching <pattern> from archiving. The pattern
|
|
||||||
accepts wildcard character "*", and is matched against the end of
|
|
||||||
the pathname.
|
|
||||||
.RE
|
|
||||||
.SS "SSH Options"
|
|
||||||
.sp
|
|
||||||
\fBssh_identity\fP <file>
|
|
||||||
.RS 4
|
|
||||||
Absolute path to a ssh identity file (private key). Note that if
|
|
||||||
the private key is password protected, btrbk will prompt for user
|
|
||||||
input, which is usually not desired.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBssh_user\fP <username>
|
|
||||||
.RS 4
|
|
||||||
Remote username for ssh. Defaults to \(lqroot\(rq. Make sure the
|
|
||||||
remote user is able to run "btrfs" with root privileges (see
|
|
||||||
option \fIbackend\fP for details).
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBssh_compression\fP yes|no
|
|
||||||
.RS 4
|
|
||||||
Enables or disables the compression of ssh connections. Defaults
|
|
||||||
to \(lqno\(rq.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBssh_cipher_spec\fP <cipher_spec>
|
|
||||||
.RS 4
|
|
||||||
Selects the cipher specification for encrypting the session
|
|
||||||
(comma\-separated list of ciphers in order of preference). See the
|
|
||||||
"\-c cipher_spec" option in ssh(1) for more information. Defaults
|
|
||||||
to \(lqdefault\(rq (the ciphers specified in \fIssh_config\fP).
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
Previous versions btrbk allowed you to set a \fBssh_port\fP option, this
|
|
||||||
has been dropped in favor of the \f(CRssh://hostname:port\fP notation in the
|
|
||||||
\fIvolume\fP and \fItarget\fP sections. If you want to set a
|
|
||||||
global port for all SSH connections to remote hosts, set the \(lqPort\(rq
|
|
||||||
option in ssh_config(5).
|
|
||||||
.SS "Data Stream Options"
|
|
||||||
.sp
|
|
||||||
\fBstream_compress\fP <compress_command>|no
|
|
||||||
.RS 4
|
|
||||||
Compress the btrfs send stream before transferring it from/to
|
|
||||||
remote locations. Defaults to \(lqno\(rq. If enabled, make sure that
|
|
||||||
\fI<compress_command>\fP is available on the source and target
|
|
||||||
hosts. Supported \fI<compress_command>\fP: gzip, pigz, bzip2, pbzip2,
|
|
||||||
xz, lzo, lz4.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBstream_compress_level\fP default|<number>
|
|
||||||
.RS 4
|
|
||||||
Compression level for the specified \fI<compress_command>\fP. Refer to
|
|
||||||
the related man\-page for details (usually [1..9], where 1 means
|
|
||||||
fastest compression). Defaults to \(lqdefault\(rq (the default
|
|
||||||
compression level of \fI<compress_command>\fP).
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBstream_compress_threads\fP default|<number>
|
|
||||||
.RS 4
|
|
||||||
Number of threads to use for <compress_command>. Only supported
|
|
||||||
for "pigz", "pbzip2" and recent versions of "xz".
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBstream_buffer\fP <size>|no
|
|
||||||
.RS 4
|
|
||||||
Add a buffer to the btrfs send stream (in front of "btrfs
|
|
||||||
receive"), with a maximum size of \fI<size>\fP. This can give a speed
|
|
||||||
improvement (measured up to 20%) on both local or remote
|
|
||||||
operations, but also increases system load. A suffix of "k", "m",
|
|
||||||
"g", or "%" can be added to \fI<size>\fP to denote kilobytes (*1024),
|
|
||||||
megabytes, gigabytes, or a percentage of total physical
|
|
||||||
memory. Defaults to \(lqno\(rq.
|
|
||||||
.sp
|
|
||||||
If enabled, make sure that the "mbuffer" command is available on the
|
|
||||||
target host. Note that versions of mbuffer < 20180505 suffered from
|
|
||||||
nasty bugs (infinite loops, hangs); if your main concern is a stable
|
|
||||||
backup process, leave this option disabled.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBrate_limit\fP <rate>|no
|
|
||||||
.RS 4
|
|
||||||
Limit the transfer to a maximum of \fI<rate>\fP bytes per second. A
|
|
||||||
suffix of "k", "m", "g", or "t" can be added to denote kilobytes
|
|
||||||
(*1024), megabytes, and so on. Defaults to \(lqno\(rq. If enabled for
|
|
||||||
remote sources, make sure that the "pv" command is available on
|
|
||||||
the source host.
|
|
||||||
.RE
|
|
||||||
.SS "System Options"
|
|
||||||
.sp
|
|
||||||
\fBtransaction_log\fP <file>|no
|
|
||||||
.RS 4
|
|
||||||
If set, all transactions (snapshot create, subvolume send\-receive,
|
|
||||||
subvolume delete) as well as abort messages are logged to <file>,
|
|
||||||
in a space\-separated table format: "localtime type status
|
|
||||||
target_url source_url parent_url message".
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBtransaction_syslog\fP <facility>|no
|
|
||||||
.RS 4
|
|
||||||
If set, all transactions (as described in \fItransaction_log\fP above)
|
|
||||||
are logged to syslog. The program name used in the messages is
|
|
||||||
"btrbk". Accepted parameters for \fI<facility>\fP: user, mail,
|
|
||||||
daemon, auth, lpr, news, cron, authpriv, local0..local7.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBlockfile\fP <file>|no
|
|
||||||
.RS 4
|
|
||||||
Create lockfile <file> on startup; checks lockfile before running
|
|
||||||
any btrfs commands (using perl "flock"), and exits if the lock is
|
|
||||||
held by another btrbk instance. Ignored on dryrun (\fI\-n\fP,
|
|
||||||
\fI\-\-dry\-run\fP). See also \fI\-\-lockfile\fP command\-line option.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBbackend\fP btrfs\-progs|btrfs\-progs\-btrbk|btrfs\-progs\-sudo
|
|
||||||
.RS 4
|
|
||||||
Backend filesystem utilities to be used for btrfs specific
|
|
||||||
operations. Defaults to \(lqbtrfs\-progs\(rq.
|
|
||||||
.sp
|
|
||||||
btrfs\-progs
|
|
||||||
.RS 4
|
|
||||||
Default backend, btrfs commands are called as specified in
|
|
||||||
btrfs(8) (e.g. "btrfs subvolume show").
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
btrfs\-progs\-btrbk
|
|
||||||
.RS 4
|
|
||||||
btrfs commands are separated by a dash instead of a whitespace
|
|
||||||
(e.g. "btrfs\-subvolume\-show" instead of "btrfs subvolume
|
|
||||||
show"). Useful for setting suid or file capabilities (setcap) on
|
|
||||||
specific btrfs commands, as implemented in
|
|
||||||
.URL "https://github.com/digint/btrfs\-progs\-btrbk" "" "."
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
btrfs\-progs\-sudo
|
|
||||||
.RS 4
|
|
||||||
btrfs commands are prefixed with "sudo \-n" (e.g. "sudo \-n btrfs
|
|
||||||
subvolume show" instead of "btrfs subvolume show"). Make sure to
|
|
||||||
have appropriate (root) permissions for the "btrfs" command groups
|
|
||||||
and the "readlink" command in /etc/sudoers.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
For convenience, it is also possible to set \fBbackend_local\fP or
|
|
||||||
\fBbackend_remote\fP options, which will override the backend only for
|
|
||||||
local or remote sources/targets (e.g. "backend_remote
|
|
||||||
btrfs\-progs\-btrbk").
|
|
||||||
.RE
|
|
||||||
.SS "Btrfs Specific Options"
|
|
||||||
.sp
|
|
||||||
\fBbtrfs_commit_delete\fP after|each|no
|
|
||||||
.RS 4
|
|
||||||
If set, make sure the deletion of snapshot and backup subvolumes
|
|
||||||
are committed to disk when btrbk terminates. Defaults to \(lqno\(rq.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBincremental_clones\fP <number>
|
|
||||||
.RS 4
|
|
||||||
Maximum number of clone sources allowed for incremental send. If
|
|
||||||
set, btrbk adds "\-c <clone\-src>" to the btrfs\-send(8) command for
|
|
||||||
all present snapshot/backup pairs (correlated subvolumes matching
|
|
||||||
matching \fIreceived_uuid\fP, printed by "btrbk stats"). Set this to a
|
|
||||||
high number if you want to make sure that no common data is missed
|
|
||||||
on incremental backups, in expense of btrfs\-send
|
|
||||||
performance. Defaults to 0.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBincremental_resolve\fP mountpoint|directory
|
|
||||||
.RS 4
|
|
||||||
Specifies where to search for the best common parent for
|
|
||||||
incremental backups. If set to \(lqmountpoint\(rq, use parents in the
|
|
||||||
filesystem tree below mount points of source
|
|
||||||
"<volume\-directory>/<snapshot\-dir>" and target
|
|
||||||
"<target\-directory>". If set to \(lqdirectory\(rq, use parents
|
|
||||||
strictly below source/target directories. Set this to
|
|
||||||
\(lqdirectory\(rq if you get access problems (when not running btrbk
|
|
||||||
as root). Defaults to \(lqmountpoint\(rq.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBsnapshot_qgroup_destroy\fP yes|no \fI*experimental*\fP
|
|
||||||
.RS 4
|
|
||||||
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBtarget_qgroup_destroy\fP yes|no \fI*experimental*\fP
|
|
||||||
.RS 4
|
|
||||||
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBarchive_qgroup_destroy\fP yes|no \fI*experimental*\fP
|
|
||||||
.RS 4
|
|
||||||
Whenever a subvolume is deleted, also destroy corresponding
|
|
||||||
default qgroup "\f(CR0/<subvol\-id>\fP". Only useful if you have enabled
|
|
||||||
btrfs quota support. See also:
|
|
||||||
.URL "https://bugzilla.kernel.org/show_bug.cgi?id=91751" "" ""
|
|
||||||
.RE
|
|
||||||
.SH "RETENTION POLICY"
|
|
||||||
.sp
|
|
||||||
btrbk uses separate retention policies for snapshots and backups,
|
|
||||||
which are defined by the \fIsnapshot_preserve_min\fP, \fIsnapshot_preserve\fP,
|
|
||||||
\fItarget_preserve_min\fP, \fItarget_preserve\fP, \fIpreserve_day_of_week\fP and
|
|
||||||
\fIpreserve_hour_of_day\fP configuration options.
|
|
||||||
.sp
|
|
||||||
Within this section, any statement about "backups" is always valid for
|
|
||||||
backups as well as snapshots, referring to \fItarget_preserve\fP or
|
|
||||||
\fIsnapshot_preserve\fP respectively.
|
|
||||||
.sp
|
|
||||||
The format for \fI<retention_policy>\fP is:
|
|
||||||
.sp
|
|
||||||
.if n .RS 4
|
|
||||||
.nf
|
|
||||||
[<hourly>h] [<daily>d] [<weekly>w] [<monthly>m] [<yearly>y]
|
|
||||||
.fi
|
|
||||||
.if n .RE
|
|
||||||
.sp
|
|
||||||
With the following semantics:
|
|
||||||
.sp
|
|
||||||
\fBhourly\fP
|
|
||||||
.RS 4
|
|
||||||
Defines how many hours back hourly backups should be
|
|
||||||
preserved. The first backup of an hour is considered an hourly
|
|
||||||
backup. Note that if you use <hourly> scheduling, make sure to
|
|
||||||
also set \fItimestamp_format\fP to \(lqlong\(rq or \(lqlong\-iso\(rq, or the
|
|
||||||
scheduler will interpret the time as "00:00" (midnight).
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBdaily\fP
|
|
||||||
.RS 4
|
|
||||||
Defines how many days back daily backups should be preserved. The
|
|
||||||
first backup of a day (starting at \fIpreserve_hour_of_day\fP) is
|
|
||||||
considered a daily backup.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBweekly\fP
|
|
||||||
.RS 4
|
|
||||||
Defines how many weeks back weekly backups should be
|
|
||||||
preserved. The first daily backup created at
|
|
||||||
\fIpreserve_day_of_week\fP (or the first backup in this week if none
|
|
||||||
was made on the exact day) is considered as a weekly backup.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBmonthly\fP
|
|
||||||
.RS 4
|
|
||||||
Defines how many months back monthly backups should be
|
|
||||||
preserved. Every first weekly backup in a month is considered a
|
|
||||||
monthly backup.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fByearly\fP
|
|
||||||
.RS 4
|
|
||||||
Defines for how many years back yearly backups should be
|
|
||||||
preserved. Every first monthly backup in a year is considered a
|
|
||||||
yearly backup.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
Use an asterisk for \(lqall\(rq (e.g. "target_preserve 60d *m"
|
|
||||||
states: "preserve daily backups for 60 days back, and all monthly
|
|
||||||
backups").
|
|
||||||
.sp
|
|
||||||
The reference time (which defines the beginning of a day, week, month
|
|
||||||
or year) for all date/time calculations is the local time of the host
|
|
||||||
running btrbk.
|
|
||||||
.sp
|
|
||||||
Hint: Run btrbk with the \fI\-S\fP, \fI\-\-print\-schedule\fP option to get a
|
|
||||||
comprehensive output of the scheduler results.
|
|
||||||
.sp
|
|
||||||
Caveats:
|
|
||||||
.sp
|
|
||||||
.RS 4
|
|
||||||
.ie n \{\
|
|
||||||
\h'-04'\(bu\h'+03'\c
|
|
||||||
.\}
|
|
||||||
.el \{\
|
|
||||||
. sp -1
|
|
||||||
. IP \(bu 2.3
|
|
||||||
.\}
|
|
||||||
If you run a setup with several btrbk instances (e.g. one
|
|
||||||
snapshot\-only instance per remote client, and a separate fetch\-only
|
|
||||||
instance on the backup server), it makes perfectly sense to run
|
|
||||||
btrbk with different local time on the clients, in order to make
|
|
||||||
sure the backups from all the remote hosts are preserved for
|
|
||||||
"midnight", and not at "00:00 UTC" (which would be "14:00" in
|
|
||||||
Honolulu). If you want this behaviour, do NOT use "timestamp_format
|
|
||||||
long\-iso".
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
.RS 4
|
|
||||||
.ie n \{\
|
|
||||||
\h'-04'\(bu\h'+03'\c
|
|
||||||
.\}
|
|
||||||
.el \{\
|
|
||||||
. sp -1
|
|
||||||
. IP \(bu 2.3
|
|
||||||
.\}
|
|
||||||
If "timestamp_format long\-iso" is set, running btrbk from different
|
|
||||||
time zones leads to different interpretation of "first in day, week,
|
|
||||||
month, or year". Make sure to run btrbk with the same time zone on
|
|
||||||
every host, e.g. by setting the TZ environment variable (see
|
|
||||||
tzset(3)).
|
|
||||||
.RE
|
|
||||||
.SH "TARGET TYPES"
|
|
||||||
.sp
|
|
||||||
\fBsend\-receive\fP
|
|
||||||
.RS 4
|
|
||||||
Backup to a btrfs filesystem, using "btrfs send/receive". This is
|
|
||||||
the recommended (standard) target type. The \fI<target\-directory>\fP
|
|
||||||
must be an absolute path and point to a btrfs volume (or
|
|
||||||
subvolume), or to a directory within a subvolume. See
|
|
||||||
btrfs\-send(8), btrfs\-receive(8).
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBraw\fP \fI*experimental*\fP
|
|
||||||
.RS 4
|
|
||||||
Backup to a raw (filesystem independent) file from the output of
|
|
||||||
btrfs\-send(8), with optional compression and encryption.
|
|
||||||
.sp
|
|
||||||
Note that the target preserve mechanism is currently disabled for
|
|
||||||
incremental raw backups (btrbk does not delete any incremental raw
|
|
||||||
files)!
|
|
||||||
.sp
|
|
||||||
Raw backups consist of two files: the main data file containing the
|
|
||||||
btrfs send stream, and a sidecar file ".info" containing metadata:
|
|
||||||
.sp
|
|
||||||
.if n .RS 4
|
|
||||||
.nf
|
|
||||||
<snapshot\-name>.<timestamp>[_N].btrfs[.gz|.bz2|.xz][.gpg]
|
|
||||||
<snapshot\-name>.<timestamp>[_N].btrfs[.gz|.bz2|.xz][.gpg].info
|
|
||||||
.fi
|
|
||||||
.if n .RE
|
|
||||||
.sp
|
|
||||||
For \fIincremental\fP backups ("incremental yes"), please note that:
|
|
||||||
.sp
|
|
||||||
.RS 4
|
|
||||||
.ie n \{\
|
|
||||||
\h'-04'\(bu\h'+03'\c
|
|
||||||
.\}
|
|
||||||
.el \{\
|
|
||||||
. sp -1
|
|
||||||
. IP \(bu 2.3
|
|
||||||
.\}
|
|
||||||
As soon as a single \fIincremental\fP backup file is lost or corrupted,
|
|
||||||
all later incremental backups become invalid, as there is no common
|
|
||||||
parent for the subsequent incremental images anymore. This might be
|
|
||||||
a good compromise for a vacation backup plan, but for the long term
|
|
||||||
make sure that a non\-incremental backup is triggered from time to
|
|
||||||
time.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
.RS 4
|
|
||||||
.ie n \{\
|
|
||||||
\h'-04'\(bu\h'+03'\c
|
|
||||||
.\}
|
|
||||||
.el \{\
|
|
||||||
. sp -1
|
|
||||||
. IP \(bu 2.3
|
|
||||||
.\}
|
|
||||||
There is currently no support for rotation of incremental backups:
|
|
||||||
if \fIincremental\fP is set, a full backup must be triggered manually
|
|
||||||
from time to time in order to be able to delete old backups.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
Additional options for raw targets:
|
|
||||||
.sp
|
|
||||||
\fBraw_target_compress\fP <compress_command>|no
|
|
||||||
.RS 4
|
|
||||||
Compression algorithm to use for raw backup target. Supported
|
|
||||||
\fI<compress_command>\fP: gzip, pigz, bzip2, pbzip2, xz, lzo, lz4.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBraw_target_compress_level\fP default|<number>
|
|
||||||
.RS 4
|
|
||||||
Compression level for the specified <compress_command>.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBraw_target_compress_threads\fP default|<number>
|
|
||||||
.RS 4
|
|
||||||
Number of threads to use for <compress_command>.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBraw_target_split\fP <size>|no
|
|
||||||
.RS 4
|
|
||||||
Split the raw backup file into pieces of size \fI<size>\fP.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBraw_target_block_size\fP <number>
|
|
||||||
.RS 4
|
|
||||||
Block size to use for writing the raw backup file. Defaults to
|
|
||||||
\(lq128K\(rq.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBraw_target_encrypt\fP gpg|openssl_enc|no
|
|
||||||
.RS 4
|
|
||||||
If enabled, encrypt the target raw file using gpg or openssl_enc.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
Additional options for "raw_target_encrypt gpg":
|
|
||||||
.sp
|
|
||||||
\fBgpg_keyring\fP <file>
|
|
||||||
.RS 4
|
|
||||||
Keyring to use for gpg, e.g. "\f(CR/etc/btrbk/gpg/pubring.kbx\fP".
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBgpg_recipient\fP <name>
|
|
||||||
.RS 4
|
|
||||||
Encrypt for user id \fI<name>\fP (email address).
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
Additional options for "raw_target_encrypt openssl_enc" (\fIvery
|
|
||||||
experimental\fP):
|
|
||||||
.sp
|
|
||||||
\fBopenssl_ciphername\fP\~<name>
|
|
||||||
.RS 4
|
|
||||||
Defaults to \(lqaes\-256\-cbc\(rq.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBopenssl_iv_size\fP <size\-in\-bytes>|no
|
|
||||||
.RS 4
|
|
||||||
Depends on selected cipher.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBopenssl_keyfile\fP <file>|no
|
|
||||||
.RS 4
|
|
||||||
Point to a key file in hex (absolute path). Example key file
|
|
||||||
creation (256bit key):
|
|
||||||
.sp
|
|
||||||
.if n .RS 4
|
|
||||||
.nf
|
|
||||||
# dd if=/dev/urandom bs=1 count=32 \(rs
|
|
||||||
| od \-x \-A n \(rs
|
|
||||||
| tr \-d "[:space:]" > /path/to/keyfile
|
|
||||||
.fi
|
|
||||||
.if n .RE
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBkdf_backend\fP <file>|no
|
|
||||||
.RS 4
|
|
||||||
KDF backend to be executed,
|
|
||||||
e.g. "\f(CR/usr/share/btrbk/scripts/kdf_pbkdf2.py\fP".
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBkdf_keysize\fP <size\-in\-bytes>
|
|
||||||
.RS 4
|
|
||||||
Defaults to \(lq32\(rq.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\fBkdf_keygen\fP once|each
|
|
||||||
.RS 4
|
|
||||||
Defaults to \(lqonce\(rq.
|
|
||||||
.RE
|
|
||||||
.RE
|
|
||||||
.SH "AVAILABILITY"
|
|
||||||
.sp
|
|
||||||
Please refer to the btrbk project page \fB\c
|
|
||||||
.URL "https://digint.ch/btrbk/" "" "\fP"
|
|
||||||
for further details.
|
|
||||||
.SH "SEE ALSO"
|
|
||||||
.sp
|
|
||||||
\fBbtrbk\fP(1)
|
|
||||||
.SH "AUTHOR"
|
|
||||||
.sp
|
|
||||||
Axel Burri <\c
|
|
||||||
.MTO "axel\(attty0.ch" "" ">"
|
|
|
@ -1,208 +0,0 @@
|
||||||
'\" t
|
|
||||||
.\" Title: ssh_filter_btrbk
|
|
||||||
.\" Author: [see the "AUTHOR(S)" section]
|
|
||||||
.\" Generator: Asciidoctor 1.5.7.1
|
|
||||||
.\" Date: 2019-04-24
|
|
||||||
.\" Manual: Btrbk Manual
|
|
||||||
.\" Source: Btrbk 0.28.0
|
|
||||||
.\" Language: English
|
|
||||||
.\"
|
|
||||||
.TH "SSH_FILTER_BTRBK" "1" "2019-04-24" "Btrbk 0.28.0" "Btrbk Manual"
|
|
||||||
.ie \n(.g .ds Aq \(aq
|
|
||||||
.el .ds Aq '
|
|
||||||
.ss \n[.ss] 0
|
|
||||||
.nh
|
|
||||||
.ad l
|
|
||||||
.de URL
|
|
||||||
\fI\\$2\fP <\\$1>\\$3
|
|
||||||
..
|
|
||||||
.als MTO URL
|
|
||||||
.if \n[.g] \{\
|
|
||||||
. mso www.tmac
|
|
||||||
. am URL
|
|
||||||
. ad l
|
|
||||||
. .
|
|
||||||
. am MTO
|
|
||||||
. ad l
|
|
||||||
. .
|
|
||||||
. LINKSTYLE blue R < >
|
|
||||||
.\}
|
|
||||||
.SH "NAME"
|
|
||||||
ssh_filter_btrbk \- ssh command filter script for btrbk
|
|
||||||
.SH "SYNOPSIS"
|
|
||||||
.sp
|
|
||||||
.nf
|
|
||||||
ssh_filter_btrbk.sh [\-s|\-\-source] [\-t|\-\-target] [\-d|\-\-delete]
|
|
||||||
[\-i|\-\-info] [\-\-snapshot] [\-\-send] [\-\-receive]
|
|
||||||
[\-p|\-\-restrict\-path <path>] [\-l|\-\-log] [\-\-sudo]
|
|
||||||
.fi
|
|
||||||
.br
|
|
||||||
.SH "DESCRIPTION"
|
|
||||||
.sp
|
|
||||||
\fBssh_filter_btrbk.sh\fP restricts SSH commands to commands used by
|
|
||||||
\fIbtrbk\fP. It examines the SSH_ORIGINAL_COMMAND environment variable
|
|
||||||
(set by sshd) and executes it only if it contains commands used by
|
|
||||||
\fIbtrbk\fP.
|
|
||||||
.sp
|
|
||||||
The accepted commands are specified by the "\-\-source", "\-\-target",
|
|
||||||
"\-\-delete" and "\-\-info" options.
|
|
||||||
.sp
|
|
||||||
The following commands are always allowed:
|
|
||||||
.sp
|
|
||||||
.RS 4
|
|
||||||
.ie n \{\
|
|
||||||
\h'-04'\(bu\h'+03'\c
|
|
||||||
.\}
|
|
||||||
.el \{\
|
|
||||||
. sp -1
|
|
||||||
. IP \(bu 2.3
|
|
||||||
.\}
|
|
||||||
"btrfs subvolume show"
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
.RS 4
|
|
||||||
.ie n \{\
|
|
||||||
\h'-04'\(bu\h'+03'\c
|
|
||||||
.\}
|
|
||||||
.el \{\
|
|
||||||
. sp -1
|
|
||||||
. IP \(bu 2.3
|
|
||||||
.\}
|
|
||||||
"btrfs subvolume list"
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
.RS 4
|
|
||||||
.ie n \{\
|
|
||||||
\h'-04'\(bu\h'+03'\c
|
|
||||||
.\}
|
|
||||||
.el \{\
|
|
||||||
. sp -1
|
|
||||||
. IP \(bu 2.3
|
|
||||||
.\}
|
|
||||||
"readlink"
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
.RS 4
|
|
||||||
.ie n \{\
|
|
||||||
\h'-04'\(bu\h'+03'\c
|
|
||||||
.\}
|
|
||||||
.el \{\
|
|
||||||
. sp -1
|
|
||||||
. IP \(bu 2.3
|
|
||||||
.\}
|
|
||||||
"cat /proc/self/mountinfo"
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
.RS 4
|
|
||||||
.ie n \{\
|
|
||||||
\h'-04'\(bu\h'+03'\c
|
|
||||||
.\}
|
|
||||||
.el \{\
|
|
||||||
. sp -1
|
|
||||||
. IP \(bu 2.3
|
|
||||||
.\}
|
|
||||||
pipes through "gzip", "pigz", "bzip2", "pbzip2", "xz", "lzop",
|
|
||||||
"lz4" (stream_compress)
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
.RS 4
|
|
||||||
.ie n \{\
|
|
||||||
\h'-04'\(bu\h'+03'\c
|
|
||||||
.\}
|
|
||||||
.el \{\
|
|
||||||
. sp -1
|
|
||||||
. IP \(bu 2.3
|
|
||||||
.\}
|
|
||||||
pipes through "mbuffer" (stream_buffer)
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
.RS 4
|
|
||||||
.ie n \{\
|
|
||||||
\h'-04'\(bu\h'+03'\c
|
|
||||||
.\}
|
|
||||||
.el \{\
|
|
||||||
. sp -1
|
|
||||||
. IP \(bu 2.3
|
|
||||||
.\}
|
|
||||||
pipes through "pv \-L" (rate_limit)
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
Example line in /root/.ssh/authorized_keys on a backup target host:
|
|
||||||
.sp
|
|
||||||
.if n .RS 4
|
|
||||||
.nf
|
|
||||||
command="ssh_filter_btrbk.sh \-\-target \-\-delete \-\-restrict\-path /mnt/btr_backup" ssh\-rsa AAAAB3NzaC1...hwumXFRQBL btrbk@mydomain.com
|
|
||||||
.fi
|
|
||||||
.if n .RE
|
|
||||||
.SH "OPTIONS"
|
|
||||||
.sp
|
|
||||||
\-s, \-\-source
|
|
||||||
.RS 4
|
|
||||||
Allow commands for backup source: "btrfs subvolume snapshot",
|
|
||||||
"btrfs send". Equivalent to "\-\-snapshot \-\-send".
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\-t, \-\-target
|
|
||||||
.RS 4
|
|
||||||
Allow commands for backup target: "btrfs receive".
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\-d, \-\-delete
|
|
||||||
.RS 4
|
|
||||||
Allow commands for subvolume deletion: "btrfs subvolume
|
|
||||||
delete". This is used for backup source if
|
|
||||||
\fIsnapshot_preserve_daily\fP is not set to \(lqall\(rq, and for backup
|
|
||||||
targets if \fItarget_preserve_daily\fP is not set to \(lqall\(rq.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\-i, \-\-info
|
|
||||||
.RS 4
|
|
||||||
Allow informative commands: "btrfs subvolume find\-new", "btrfs
|
|
||||||
filesystem usage". This is used by btrbk \fIinfo\fP and \fIdiff\fP
|
|
||||||
commands.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\-\-snapshot
|
|
||||||
.RS 4
|
|
||||||
Allow btrfs snapshot command: "btrfs subvolume snapshot".
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\-\-send
|
|
||||||
.RS 4
|
|
||||||
Allow btrfs send command: "btrfs send".
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\-\-receive
|
|
||||||
.RS 4
|
|
||||||
Allow btrfs receive command: "btrfs receive".
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\-p, \-\-restrict\-path <path>
|
|
||||||
.RS 4
|
|
||||||
Restrict btrfs commands to <path>.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\-l, \-\-log
|
|
||||||
.RS 4
|
|
||||||
Log ACCEPT and REJECT messages to the system log.
|
|
||||||
.RE
|
|
||||||
.sp
|
|
||||||
\-\-sudo
|
|
||||||
.RS 4
|
|
||||||
Allow btrfs commands to be called via sudo. Enable this if you
|
|
||||||
have "backend btrfs\-progs\-sudo" in your btrbk configuration file.
|
|
||||||
.RE
|
|
||||||
.SH "AVAILABILITY"
|
|
||||||
.sp
|
|
||||||
Please refer to the btrbk project page \fB\c
|
|
||||||
.URL "https://digint.ch/btrbk/" "" "\fP"
|
|
||||||
for further details.
|
|
||||||
.SH "SEE ALSO"
|
|
||||||
.sp
|
|
||||||
\fBbtrbk\fP(1),
|
|
||||||
\fBbtrbk.conf\fP(5),
|
|
||||||
\fBbtrfs\fP(8)
|
|
||||||
.SH "AUTHOR"
|
|
||||||
.sp
|
|
||||||
Axel Burri <\c
|
|
||||||
.MTO "axel\(attty0.ch" "" ">"
|
|
Loading…
Reference in New Issue