Home Explore Blog CI



man-pages

22th chunk of `rsync.man`
b4d632b7b893a88559aa72e57b7da9f935425c16c996fe410000000100000fe6
 network bound.  It can also help keep a copy‐on‐write
              filesystem snapshot from diverging the entire contents of a  file
              that only has minor changes.

              The  option implies --partial (since an interrupted transfer does
              not delete the file), but conflicts with --partial‐dir and  --de‐
              lay‐updates.   Prior to rsync 2.6.4 --inplace was also incompati‐
              ble with --compare‐dest and --link‐dest.

       --append
              This special copy mode only works  to  efficiently  update  files
              that are known to be growing larger where any existing content on
              the receiving side is also known to be the same as the content on
              the  sender.   The use of --append can be dangerous if you aren’t
              100% sure that all the files in the transfer are shared,  growing
              files.   You should thus use filter rules to ensure that you weed
              out any files that do not fit this criteria.

              Rsync updates these growing file in‐place without  verifying  any
              of the existing content in the file (it only verifies the content
              that  it  is appending).  Rsync skips any files that exist on the
              receiving side that are not shorter than the associated  file  on
              the  sending  side  (which means that new files are transferred).
              It also skips any files whose  size  on  the  sending  side  gets
              shorter during the send negotiations (rsync warns about a "dimin‐
              ished" file when this happens).

              This does not interfere with the updating of a file’s non‐content
              attributes  (e.g.   permissions,  ownership,  etc.) when the file
              does not need to be transferred, nor does it affect the  updating
              of any directories or non‐regular files.

       --append‐verify
              This  special  copy  mode works like --append except that all the
              data in the file is included in the checksum verification (making
              it less efficient but also potentially safer).  This  option  can
              be  dangerous  if  you aren’t 100% sure that all the files in the
              transfer are shared, growing files.  See the --append option  for
              more details.

              Note: prior to rsync 3.0.0, the --append option worked like --ap‐
              pend‐verify,  so  if  you are interacting with an older rsync (or
              the transfer is using a protocol prior to 30), specifying  either
              append option will initiate an --append‐verify transfer.

       --dirs, -d
              Tell the sending side to include any directories that are encoun‐
              tered.  Unlike --recursive, a directory’s contents are not copied
              unless  the directory name specified is "." or ends with a trail‐
              ing slash (e.g.  ".", "dir/.", "dir/", etc.).  Without  this  op‐
              tion  or  the --recursive option, rsync will skip all directories
              it encounters (and output a message to that effect for each one).
              If you specify both --dirs  and  --recursive,  --recursive  takes
              precedence.

              The  --dirs  option  is implied by the --files‐from option or the
              --list‐only option (including an implied  --list‐only  usage)  if
              --recursive wasn’t specified (so that directories are seen in the
              listing).  Specify --no‐dirs (or --no‐d) if you want to turn this
              off.

              There  is also a backward‐compatibility helper option, --old‐dirs
              (--old‐d) that tells rsync to use a hack  of  -r --exclude=’/*/*’
              to  get an older rsync to list a single directory without recurs‐
              ing.

       --mkpath
              Create all missing path components of the destination path.

      

Title: Rsync: Append, Append-Verify, Dirs, and Mkpath Options
Summary
This section details the '--append' and '--append-verify' options for rsync, which efficiently update growing files. It explains that '--append' updates files in-place without verifying existing content (only appending), skipping files that are not shorter on the receiving side or diminish during transfer. '--append-verify' is similar, but includes all data in checksum verification. It also describes the '--dirs' option for including directories without their contents and the '--mkpath' option for creating missing destination path components.