Osx

rsync 因多個 SRC 而失敗

  • June 11, 2018

我通過 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。

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
==&gt; Dependencies
Build: autoconf ✔

引用自:https://unix.stackexchange.com/questions/449021