btrfs-send - generate a stream of changes between two subvolume snapshots
[-ve] [-p <parent>
] [-c <clone-src>
This command will generate a stream of instructions that describe changes
between two subvolume snapshots. The stream can be consumed by the btrfs
command to replicate the sent snapshot on a different filesystem.
The command operates in two modes: full and incremental.
All snapshots involved in one send command must be read-only, and this status
cannot be changed as long as there’s a running send operation that uses
In the full mode, the entire snapshot data and metadata will end up in the
In the incremental mode (options -p
), previously sent
snapshots that are available on both the sending and receiving side can be
used to reduce the amount of information that has to be sent to reconstruct
the sent snapshot on a different filesystem.
It is allowed to omit the -p <parent>
options are given, in which case
will determine a suitable parent among the clone sources
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.
if sending multiple subvolumes at once, use
the new format and omit the end cmd marker in the stream separating the
send an incremental stream from parent
use this snapshot as a clone source for an
incremental send (multiple allowed)
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.
send in NO_FILE_DATA
The output stream does not contain any file data and thus cannot be used to
transfer changes. This mode is faster and useful to show the differences in
enable verbose output, print generated
commands in a readable form, (each occurrence of this option increases the
suppress all messages except errors
returns a zero exit status if it succeeds. Non zero is
returned in case of failure.
is part of btrfs-progs. Please refer to the btrfs wiki
for further details.