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 is used for more advanced situations where you want
certain effects to be limited to one side of the transfer only.
For instance, if you want to pass --log‐file=FILE and --fake‐su‐
per to the remote system, specify it like this:
rsync ‐av ‐M ‐‐log‐file=foo ‐M‐‐fake‐super src/ dest/
If you want to have an option affect only the local side of a
transfer when it normally affects both sides, send its negation
to the remote side. Like this:
rsync ‐av ‐x ‐M‐‐no‐x src/ dest/
Be cautious using this, as it is possible to toggle an option
that will cause rsync to have a different idea about what data to
expect next over the socket, and that will make it fail in a
cryptic fashion.
Note that you should use a separate -M option for each remote op‐
tion you want to pass. On older rsync versions, the presence of
any spaces in the remote‐option arg could cause it to be split
into separate remote args, but this requires the use of --old‐
args in a modern rsync.
When performing a local transfer, the "local" side is the sender
and the "remote" side is the receiver.
Note some versions of the popt option‐parsing library have a bug
in them that prevents you from using an adjacent arg with an
equal in it next to a short option letter (e.g. -M--log‐
file=/tmp/foo). If this bug affects your version of popt, you
can use the version of popt that is included with rsync.
--cvs‐exclude, -C
This is a useful shorthand for excluding a broad range of files
that you often don’t want to transfer between systems. It uses a
similar algorithm to CVS to determine if a file should be ig‐
nored.
The exclude list is initialized to exclude the following items
(these initial items are marked as perishable -- see the FILTER
RULES section):
RCS SCCS CVS CVS.adm RCSLOG cvslog.* tags TAGS .make.state
.nse_depinfo *~ #* .#* ,* _$* *$ *.old *.bak *.BAK *.orig
*.rej .del‐* *.a *.olb *.o *.obj *.so *.exe *.Z *.elc *.ln
core .svn/ .git/ .hg/ .bzr/
then, files listed in a $HOME/.cvsignore are added to the list
and any files listed in the CVSIGNORE environment variable (all
cvsignore names are delimited by whitespace).
Finally, any file is ignored if it is in the same directory as a
.cvsignore file and matches one of the patterns listed therein.
Unlike rsync’s filter/exclude files, these patterns are split on