2014-04-02 08:29:21 +00:00
|
|
|
btrfs-send(8)
|
|
|
|
=============
|
|
|
|
|
|
|
|
NAME
|
|
|
|
----
|
2016-05-06 10:59:47 +00:00
|
|
|
btrfs-send - generate a stream of changes between two subvolumes
|
2014-04-02 08:29:21 +00:00
|
|
|
|
|
|
|
SYNOPSIS
|
|
|
|
--------
|
2014-05-19 15:49:35 +00:00
|
|
|
*btrfs send* [-ve] [-p <parent>] [-c <clone-src>] [-f <outfile>] <subvol> [<subvol>...]
|
2014-04-02 08:29:21 +00:00
|
|
|
|
|
|
|
DESCRIPTION
|
|
|
|
-----------
|
|
|
|
|
2016-05-06 10:59:47 +00:00
|
|
|
This command will generate a stream of instructions that describe changes
|
|
|
|
between two subvolumes. The stream can be consumed by the *btrfs receive*
|
|
|
|
command to replicate the sent subvolume on a different filesystem.
|
|
|
|
The command operates in two modes: full and incremental.
|
2014-04-02 08:29:21 +00:00
|
|
|
|
2016-05-06 10:59:47 +00:00
|
|
|
All subvolumes involved in one send command must be read-only (ie. the
|
|
|
|
read-only snapshots and this status cannot be changed if there's a running send
|
|
|
|
operation that uses the subvolume).
|
2014-04-02 08:29:21 +00:00
|
|
|
|
2016-05-06 10:59:47 +00:00
|
|
|
In the full mode, the entire subvolume data and metadata will end up in the
|
|
|
|
stream.
|
|
|
|
|
|
|
|
In the incremental mode (options '-p' and '-c'), there can be one or more
|
|
|
|
parent subvolumes that will establish the base for determining the changes.
|
|
|
|
The final stream will be smaller compared to the full mode.
|
2014-04-02 08:29:21 +00:00
|
|
|
|
|
|
|
It is allowed to omit the '-p <parent>' option when '-c <clone-src>' options
|
2014-05-19 15:49:35 +00:00
|
|
|
are given, in which case *btrfs send* will determine a suitable parent among the
|
2014-04-02 08:29:21 +00:00
|
|
|
clone sources itself.
|
|
|
|
|
2016-05-06 10:59:47 +00:00
|
|
|
You must not specify clone sources unless you guarantee that these snapshots
|
|
|
|
are exactly in the same state on both sides, the sender and the receiver.
|
|
|
|
|
2014-04-02 08:29:21 +00:00
|
|
|
`Options`
|
|
|
|
|
|
|
|
-e::
|
2016-05-06 10:59:47 +00:00
|
|
|
if sending multiple subvolumes at once, use the new format and omit the
|
|
|
|
'end cmd' marker in the stream separating the subvolumes
|
2014-04-02 08:29:21 +00:00
|
|
|
-p <parent>::
|
2016-05-06 10:59:47 +00:00
|
|
|
send an incremental stream from 'parent' to 'subvol'
|
2014-04-02 08:29:21 +00:00
|
|
|
-c <clone-src>::
|
2016-05-06 10:59:47 +00:00
|
|
|
use this snapshot as a clone source for an incremental send (multiple allowed)
|
2014-04-02 08:29:21 +00:00
|
|
|
-f <outfile>::
|
2017-02-21 23:14:38 +00:00
|
|
|
output is normally written to standard output so it can be, for example, piped
|
|
|
|
to btrfs receive. Use this option to write it to a file instead.
|
2015-06-12 11:15:41 +00:00
|
|
|
--no-data::
|
2016-05-06 10:59:47 +00:00
|
|
|
send in 'NO_FILE_DATA' mode
|
|
|
|
+
|
|
|
|
The output stream does not contain any file
|
2015-06-12 11:15:41 +00:00
|
|
|
data and thus cannot be used to transfer changes. This mode is faster and
|
|
|
|
useful to show the differences in metadata.
|
2016-07-28 08:28:25 +00:00
|
|
|
|
2016-05-12 19:49:25 +00:00
|
|
|
-v|--verbose::
|
|
|
|
enable verbose output, print generated commands in a readable form, (each
|
|
|
|
occurrence of this option increases the verbosity level)
|
|
|
|
-q|--quiet::
|
2017-02-21 23:14:38 +00:00
|
|
|
suppress all messages except errors
|
2014-04-02 08:29:21 +00:00
|
|
|
|
|
|
|
EXIT STATUS
|
|
|
|
-----------
|
2014-09-19 01:49:59 +00:00
|
|
|
*btrfs send* returns a zero exit status if it succeeds. Non zero is
|
2014-04-02 08:29:21 +00:00
|
|
|
returned in case of failure.
|
|
|
|
|
|
|
|
AVAILABILITY
|
|
|
|
------------
|
2014-05-19 16:04:26 +00:00
|
|
|
*btrfs* is part of btrfs-progs.
|
2014-04-02 08:29:21 +00:00
|
|
|
Please refer to the btrfs wiki http://btrfs.wiki.kernel.org for
|
|
|
|
further details.
|
|
|
|
|
|
|
|
SEE ALSO
|
|
|
|
--------
|
|
|
|
`mkfs.btrfs`(8),
|
|
|
|
`btrfs-receive`(8)
|