'\" t
.\" Title: btrfs-send
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1
.\" Date: 09/22/2016
.\" Manual: Btrfs Manual
.\" Source: Btrfs v4.7.3
.\" Language: English
.\"
.TH "BTRFS\-SEND" "8" "09/22/2016" "Btrfs v4\&.7\&.3" "Btrfs Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
btrfs-send \- generate a stream of changes between two subvolumes
.SH "SYNOPSIS"
.sp
\fBbtrfs send\fR [\-ve] [\-p \fI\fR] [\-c \fI\fR] [\-f \fI\fR] \fI\fR [\fI\fR\&...]
.SH "DESCRIPTION"
.sp
This command will generate a stream of instructions that describe changes between two subvolumes\&. The stream can be consumed by the \fBbtrfs receive\fR command to replicate the sent subvolume on a different filesystem\&. The command operates in two modes: full and incremental\&.
.sp
All subvolumes involved in one send command must be read\-only (ie\&. the read\-only snapshots and this status cannot be changed if there\(cqs a running send operation that uses the subvolume)\&.
.sp
In the full mode, the entire subvolume data and metadata will end up in the stream\&.
.sp
In the incremental mode (options \fI\-p\fR and \fI\-c\fR), 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\&.
.sp
It is allowed to omit the \fI\-p \fR\fI\fI\fR\fR option when \fI\-c \fR\fI\fI\fR\fR options are given, in which case \fBbtrfs send\fR will determine a suitable parent among the clone sources itself\&.
.sp
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\&.
.sp
\fBOptions\fR
.PP
\-e
.RS 4
if sending multiple subvolumes at once, use the new format and omit the
\fIend cmd\fR
marker in the stream separating the subvolumes
.RE
.PP
\-p \fI\fR
.RS 4
send an incremental stream from
\fIparent\fR
to
\fIsubvol\fR
.RE
.PP
\-c \fI\fR
.RS 4
use this snapshot as a clone source for an incremental send (multiple allowed)
.RE
.PP
\-f \fI\fR
.RS 4
output is normally written to standard outout so it can be eg\&. piped to receive, use this option to write it to a file
.RE
.PP
\-\-no\-data
.RS 4
send in
\fINO_FILE_DATA\fR
mode
.sp
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 metadata\&.
.RE
.PP
\-v|\-\-verbose
.RS 4
enable verbose output, print generated commands in a readable form, (each occurrence of this option increases the verbosity level)
.RE
.PP
\-q|\-\-quiet
.RS 4
suppress all messagese except errors
.RE
.SH "EXIT STATUS"
.sp
\fBbtrfs send\fR returns a zero exit status if it succeeds\&. Non zero is returned in case of failure\&.
.SH "AVAILABILITY"
.sp
\fBbtrfs\fR is part of btrfs\-progs\&. Please refer to the btrfs wiki \m[blue]\fBhttp://btrfs\&.wiki\&.kernel\&.org\fR\m[] for further details\&.
.SH "SEE ALSO"
.sp
\fBmkfs\&.btrfs\fR(8), \fBbtrfs\-receive\fR(8)