2

I am logged into a Mac (running OSX 10.12) over ssh and have entered the following commends.

REMOTE=Milliways.local:/Users/ian
rsync -a --delete-during $REMOTE/bin ~/
rsync -a --delete-during $REMOTE/Documents ~/

This works OK, and updates the appropriate directories.

I tried to include both directories in a single rsync using:-

rsync -a --delete-during $REMOTE/bin  $REMOTE/Documents ~/

This produces an error message (basically what I would get from rsync -h)

~$ rsync -a --delete-during $REMOTE/bin  $REMOTE/Documents ~/
rsync  version 2.6.9  protocol version 29
Copyright (C) 1996-2006 by Andrew Tridgell, Wayne Davison, and others.
<http://rsync.samba.org/>
Capabilities: 64-bit files, socketpairs, hard links, symlinks, batchfiles,
              inplace, IPv6, 64-bit system inums, 64-bit internal inums
…

I have studied the man files, which seem to support what I am trying, specifically

Usage: rsync [OPTION]... SRC [SRC]... DEST

While for these Directories there is no real reason I need to combine, for others I need to use a single SRC to maintain hardlinks.

Can anyone suggest what is wrong?

As suggested in muru's answer I installed brew.

  • The first line of the error might offer a hint. As it is, I am unable to reproduce. Works perfectly fine for me. – Patrick Jun 11 '18 at 2:48
  • Truck.app is an rsync client for Mac that comes with rsync 3.1.3 and will let you just drag and drop to do simple operations like this. bonhardcomputing.com/truck (disclaimer: I am a developer) – dave Feb 11 '19 at 4:34
4

The macOS version of rsync doesn't support multiple remote sources. Contrast the lines for remote sources in the macOS manpage:

rsync [OPTION]... [USER@]HOST:SRC [DEST]
rsync [OPTION]... [USER@]HOST::SRC [DEST]

With those for local sources:

rsync [OPTION]... SRC [SRC]... DEST
rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST
rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST

And with those in the Ubuntu manpage for remote sources:

Access via remote shell:
 Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
 Push: rsync [OPTION...] SRC... [USER@]HOST:DEST

The lack of ellipsis in the first set indicates that multiple remote source locations aren't supported by the macOS version of rsync.

On Ubuntu 16.04:

~ rsync --version
rsync  version 3.1.2  protocol version 31
Copyright (C) 1996-2015 by Andrew Tridgell, Wayne Davison, and others.

macOS rsync is an antique. Update with homebrew or similar:

~ brew info rsync
rsync: stable 3.1.3 (bottled)
Utility that provides fast incremental file transfer
https://rsync.samba.org/
/usr/local/Cellar/rsync/3.1.3_1 (9 files, 756.1KB) *
  Poured from bottle on 2018-06-11 at 12:38:53
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/rsync.rb
==> Dependencies
Build: autoconf ✔
| improve this answer | |
  • This seems to be the case (although I don't entirely understand the man AND the error could be clearer!) For those cases where it is essential I I will initiate from the other end, although this makes the cases where sudo is needed difficult. – Milliways Jun 11 '18 at 6:12
  • I have never been comfortable with brew, and as this is not my Mac, I am reluctant to modify system software. – Milliways Jun 11 '18 at 6:13
  • Brew installs to /usr/local/bin. The system rsync remains untouched in /usr/bin if you ever need it. – muru Jun 11 '18 at 6:14
  • OK, I installed brew on my own Mac, then brew install rsync - now how do I run it? rsync --version still shows 2.6.9 – Milliways Jun 11 '18 at 6:43
  • @Milliways probably this: apple.stackexchange.com/a/281116/205028 – muru Jun 11 '18 at 6:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.