Document Archive: btrbk-0.19.1

NAME

btrbk − backup tool for btrfs volumes

SYNOPSIS

btrbk [−−version] [−−help] [−c <file>] [−p] [−v] [−q] [−l <level>] <command> [<args>]

DESCRIPTION

btrbk is a backup tool for btrfs subvolumes, taking advantage of btrfs specific capabilities to create atomic snapshots and transfer them incrementally to target volumes. It is able to perform backups from one source to multiple destinations.

Snapshots as well as backup subvolume names are created in form:

<source_name>.YYYYMMDD[_N]

Where YYYY is the year, MM is the month, and DD is the day of creation, and, if multiple backups are created on the same day, N will be incremented on each backup, starting at 1.

OPTIONS

−−version
Prints the btrbk version.
−−help
Prints the synopsis and a list of the commands.
−c <file>
Read the configuration from <file>.
−p
Preserve all backups. Skips deletion of old backups, even if specified in the configuration file.
−v
Verbose output. Identical to: −l info.
−q
Quiet operation. If set, btrbk does not print the summary after executing the "run" command.
−l <level>
Set the level of verbosity. Accepted levels are warn, info, debug, and trace.

COMMANDS

run [subvolume...]

Perform backup operations as specified in the configuration file. If the optional [subvolume...] arguments are present, backups are only performed for the specified subvolumes (which must match a volume/subvolume declaration in the configuration file), and the -p (preserve backups) option is implied.

First, btrbk reads information from the source and target btrfs filesystems in order to perform sanity checks and identify parent/child and received-from relationships.

If the checks succeed, btrbk creates snapshots for all the source subvolumes specified in the configuration file.

Then, for each specified target, btrbk creates the backups as follows: If the resume_missing option is set (the default), btrbk transfers all missing snapshots needed to satisfy the configured target_preserve_{daily,weekly,monthly} retention policy, always incrementally from the latest common parent subvolume found. If no common parent subvolume is found, a full backup is created for the first transfer. Note that the latest snapshot (the one created in the first step) is always transferred, regardless of the retention policy.

As a last step, unless the -p (preserve backups) option is set, snapshots and backup subvolumes that are not preserved by their configured retention policy will be deleted. Note that the latest snapshot as well as the latest backup is always preserved, regardless of the retention policy.

dryrun [subvolume...]

Don’t run btrfs commands, just show the snapshots and backup subvolumes that would be created/deleted by the run command. Use in conjunction with −l debug to see the btrfs commands that would be executed.

info [subvolume...]

Print filesystem usage information for all source/target volumes. Optionally filtered by [subvolume...] arguments.

tree [subvolume...]

Print the snapshots and their corresponding backup subvolumes as a tree. Optionally filtered by [subvolume...] arguments.

origin <subvolume>

Print origin information for the given backup subvolume, showing the parent-child relationship as well as the received-from information.

diff <from> <to>

Print new files since subvolume <from> for subvolume <to>.

FILES

/etc/btrbk.conf
/etc/btrbk/btrbk.conf

Default configuration file. The file format and configuration options are described in btrbk.conf(5).

EXIT STATUS

btrbk returns a zero exit status if it succeeds. Non-zero is returned in case of failure.

AVAILABILITY

Please refer to the btrbk project page http://www.digint.ch/btrbk/ for further details.

SEE ALSO

btrbk.conf(5), btrfs(1)

For more information about btrfs and incremental backups, see the web site at https://btrfs.wiki.kernel.org/index.php/Incremental_Backup

AUTHOR

Axel Burri <axel@tty0.ch>