macOS: How to switch default rsync with a MacPorts version

1

The default version of rsync (2.6.9) provided with macOS Sierra, High Sierra and Mojave does not work well with newer installations of rsync (3.1.x). For example using rsync -x on a remote machine running Ubuntu 16.04, attempting to transfer into the macOS machine will produce the following error:

rsync: on remote machine: -logDtpArxe.iLsfx: unknown option
rsync error: syntax or usage error (code 1) at /BuildRoot/Library/Caches/com.apple.xbs/Sources/rsync/rsync-52/rsync/main.c(1337) [server=2.6.9]
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(226) [sender=3.1.1]

To solve this problem, I installed rsync 3.1.3 using MacPorts. After the installation, rsync --version produces the MacPorts version, 3.1.3. However, running rsync on a remote machine still produces the error associated with the old version of rsync.

What other steps need to be taken to have the remote rsync process use the new rsync installation on macOS?

Levi

Posted 2019-04-27T16:29:37.980

Reputation: 121

You probably need to add the option --rsync-path=/usr/local/bin/rsync (or whatever the actual location of the remote system's rsync v3 is). – Gordon Davisson – 2019-04-28T02:54:36.460

No answers