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.