dwww Home | Manual pages | Find package

BTRFS-SEND(8)                        BTRFS                       BTRFS-SEND(8)

NAME
       btrfs-send  -  generate a stream of changes between two subvolume snap-
       shots

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  suffi-
       cient,  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. Ver-
              sion 2 encodes file data slightly more efficiently; it  is  also
              required  for  sending  compressed  data  directly  (see  --com-
              pressed-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 de-
              compressing it.  Otherwise, the receiver will fall back  to  de-
              compressing 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  read-
              able form

EXIT STATUS
       btrfs  send  returns a zero exit status if it succeeds. Non zero is re-
       turned 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)

6.6.3                            Mar 31, 2024                    BTRFS-SEND(8)

Generated by dwww version 1.16 on Tue Dec 16 15:28:24 CET 2025.