-n
我在嘗試透過 ssh 在遠端伺服器上執行試運行時遇到了這些錯誤:
# rsync --progress --delete -avhHen ssh /etc/yum [email protected]:/etc
rsync: Failed to exec n: No such file or directory (2)
rsync error: error in IPC code (code 14) at pipe.c(85) [sender=3.1.0]
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in IPC code (code 14) at io.c(226) [sender=3.1.0]
如何使用 rsync over ssh 對上述指令執行試運行?
答案1
rsync: Failed to exec n: No such file or directory (2)
那裡解釋得差不多了...
此-e
選項(長版本:--rsh=)表示執行下列的命令作為目標計算機上的 shell。
你告訴它:-e n
。查看您提供的選項的順序。 ( -avhHen
)
顛倒順序,ne
以便您多餘的使用-e ssh
將按您的意願工作。
答案2
這裡的問題是rsync的-e
選項期望遠端 shell 作為命令列上的下一個「東西」:這裡是n
,而之前是ssh
。
通常我會將 -e 拆分為它自己的選項,並這樣寫:
rsync --progress --delete -avhHn -e ssh /etc/yum [email protected]:/etc
但你也可以提前移動n
- 重要的是要e
成為最後的如果您要這樣使用它,請選擇一組簡短選項中的選項。