我通过 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 ✔