btrfs-send(8) — Linux manual page


BTRFS-SEND(8)                 Btrfs Manual                 BTRFS-SEND(8)

NAME         top

       btrfs-send - generate a stream of changes between two subvolume

SYNOPSIS         top

       btrfs send [-ve] [-p <parent>] [-c <clone-src>] [-f <outfile>]
       <subvol> [<subvol>...]

DESCRIPTION         top

       This command will generate a stream of instructions that describe
       changes between two subvolume snapshots. The stream can be
       consumed by the btrfs receive 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 the snapshot.

       In the full mode, the entire snapshot data and metadata will end
       up in the stream.

       In the incremental mode (options -p and -c), 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

       The -p <parent> option can be omitted when -c <clone-src> options
       are given, in which case btrfs send will determine a suitable
       parent from 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—both
       for the sender and the receiver. For implications of changed
       read-write status of a received snapshot please see section
       SUBVOLUME FLAGS in btrfs-subvolume(8).


           if sending multiple subvolumes at once, use the new format
           and omit the end cmd marker in the stream separating the

       -p <parent>
           send an incremental stream from parent to subvol

       -c <clone-src>
           use this snapshot as a clone source for an incremental send
           (multiple allowed)

       -f <outfile>
           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 mode

           The output stream does not contain any file data and thus
           cannot be used to transfer changes. This mode is faster and
           is useful to show the differences in metadata. -q|--quiet::::
           (deprecated) alias for global -q option -v|--verbose::
           (deprecated) alias for global -v option

       Global options

           suppress all messages except errors

           increase output verbosity, print generated commands in a
           readable form

EXIT STATUS         top

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

AVAILABILITY         top

       btrfs is part of btrfs-progs. Please refer to the btrfs wiki for further details.

SEE ALSO         top

       mkfs.btrfs(8), btrfs-receive(8), btrfs-subvolume(8)

COLOPHON         top

       This page is part of the btrfs-progs (btrfs filesystem tools)
       project.  Information about the project can be found at 
       If you have a bug report for this manual page, see
       This page was obtained from the project's upstream Git repository
       on 2024-06-14.  (At that time, the date of the most recent commit
       that was found in the repository was 2024-05-02.)  If you
       discover any rendering problems in this HTML version of the page,
       or you believe there is a better or more up-to-date source for
       the page, or you have corrections or improvements to the
       information in this COLOPHON (which is not part of the original
       manual page), send a mail to

Btrfs v5.16.1                  02/06/2022                  BTRFS-SEND(8)

Pages that refer to this page: btrfs(8)btrfs-receive(8)btrfs-subvolume(8)