Provided by: btrfs-progs_6.6.3-1.2_amd64 bug

NAME

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

SYNOPSIS

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

DESCRIPTION

       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. Read-only  mount  of  the  subvolume  is  not
       sufficient,  there's  no  way  to  guarantee  that  there  won't  be any other writable mount of the same
       subvolume that would potentially write while send would be running.

       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 filesystem.

       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).

       Options

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

       -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.

       --no-data
              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.

       --proto <N>
              use send protocol version N

              The default is 1, which was the original protocol version. Version 2 encodes  file  data  slightly
              more   efficiently;   it   is   also   required   for   sending   compressed  data  directly  (see
              --compressed-data). Version 2 requires at least btrfs-progs 6.0 on both the  sender  and  receiver
              and  at least Linux 6.0 on the sender. Passing 0 means to use the highest version supported by the
              running kernel.

       --compressed-data
              send data that is compressed on the filesystem directly without decompressing it

              If the receiver supports the BTRFS_IOC_ENCODED_WRITE ioctl (added in Linux 6.0), it can also write
              it  directly without decompressing it.  Otherwise, the receiver will fall back to decompressing it
              and writing it normally.

              This requires protocol version 2 or higher.  If  --proto  was  not  used,  then  --compressed-data
              implies --proto 2.

       -q|--quiet
              (deprecated) alias for global -q option

       -v|--verbose
              (deprecated) alias for global -v option

       Global options

       -q|--quiet
              suppress all messages except errors

       -v|--verbose
              increase output verbosity, print generated commands in a readable form

EXIT STATUS

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

AVAILABILITY

       btrfs is part of btrfs-progs.  Please refer to the documentation at https://btrfs.readthedocs.io.

SEE ALSO

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