rsync 因多个 SRC 失败

rsync 因多个 SRC 失败

我通过 ssh 登录 Mac(运行 OSX 10.12)并输入以下命令。

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

这工作正常,并更新相应的目录。

我尝试使用以下方法将两个目录包含在单个 rsync 中:-

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

这会产生一条错误消息(基本上是我从 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

我研究了 man 文件,它们似乎支持我正在尝试的内容,特别是

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

虽然对于这些目录,我没有真正的理由需要合并,但对于其他目录,我需要使用单个 SRC 来维护硬链接。

任何人都可以建议出什么问题吗?

正如穆鲁的回答所建议的,我安装了brew。

答案1

macOS 版本rsync不支持多个远程源。对比 macOS 联机帮助页中远程源的行:

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

对于本地来源:

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

和那些在Ubuntu 联机帮助页对于远程源:

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

第一组中缺少省略号表明 macOS 版本不支持多个远程源位置rsync

在 Ubuntu 16.04 上:

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

macOSrsync已经是古董了。使用自制程序或类似程序更新:

~ 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 ✔

相关内容