rsync’s delta‐transfer algo‐
rithm to a fixed value. It is normally selected based on the
size of each file being updated. See the technical report for
details.
Beginning in 3.2.3 the SIZE can be specified with a suffix as de‐
tailed in the --max‐size option. Older versions only accepted a
byte count.
--rsh=COMMAND, -e
This option allows you to choose an alternative remote shell pro‐
gram to use for communication between the local and remote copies
of rsync. Typically, rsync is configured to use ssh by default,
but you may prefer to use rsh on a local network.
If this option is used with [user@]host::module/path, then the
remote shell COMMAND will be used to run an rsync daemon on the
remote host, and all data will be transmitted through that remote
shell connection, rather than through a direct socket connection
to a running rsync daemon on the remote host. See the USING
RSYNC‐DAEMON FEATURES VIA A REMOTE‐SHELL CONNECTION section
above.
Beginning with rsync 3.2.0, the RSYNC_PORT environment variable
will be set when a daemon connection is being made via a remote‐
shell connection. It is set to 0 if the default daemon port is
being assumed, or it is set to the value of the rsync port that
was specified via either the --port option or a non‐empty port
value in an rsync:// URL. This allows the script to discern if a
non‐default port is being requested, allowing for things such as
an SSL or stunnel helper script to connect to a default or alter‐
nate port.
Command‐line arguments are permitted in COMMAND provided that
COMMAND is presented to rsync as a single argument. You must use
spaces (not tabs or other whitespace) to separate the command and
args from each other, and you can use single‐ and/or double‐
quotes to preserve spaces in an argument (but not backslashes).
Note that doubling a single‐quote inside a single‐quoted string
gives you a single‐quote; likewise for double‐quotes (though you
need to pay attention to which quotes your shell is parsing and
which quotes rsync is parsing). Some examples:
‐e ’ssh ‐p 2234’
‐e ’ssh ‐o "ProxyCommand nohup ssh firewall nc ‐w1 %h %p"’
(Note that ssh users can alternately customize site‐specific con‐
nect options in their .ssh/config file.)
You can also choose the remote shell program using the RSYNC_RSH
environment variable, which accepts the same range of values as
-e.
See also the --blocking‐io option which is affected by this op‐
tion.
--rsync‐path=PROGRAM
Use this to specify what program is to be run on the remote ma‐
chine to start‐up rsync. Often used when rsync is not in the de‐
fault remote‐shell’s path (e.g. --rsync‐path=/usr/lo‐
cal/bin/rsync). Note that PROGRAM is run with the help of a
shell, so it can be any program, script, or command sequence
you’d care to run, so long as it does not corrupt the standard‐in
& standard‐out that rsync is using to communicate.
One tricky example is to set a different default directory on the
remote machine for use with the --relative option. For instance:
rsync ‐avR ‐‐rsync‐path="cd /a/b && rsync" host:c/d /e/
--remote‐option=OPTION, -M
This option