rsync 錯誤:io.c(600) 處的 rsync 協定資料流(代碼 12)出現錯誤

rsync 錯誤:io.c(600) 處的 rsync 協定資料流(代碼 12)出現錯誤

最近我無法透過 ssh 進行 rsync。每次我都會遇到同樣的錯誤

bash: rsync: command not found
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(600) [sender=3.0.6]

我在跑步

sudo rsync -av /var/www/html/somedir/ [email protected]:Users/myuser/Desktop/ec2backup

請注意,出於本文的目的,使用者名稱、IP 和目錄已更改。

過去我曾經執行過與使用 bash_history 驗證的完全相同的命令。

我嘗試過的:

  1. 從另一台伺服器執行類似的命令,導致相同的錯誤訊息。
  2. 在本地測試了 rsync(本地目錄到本地目錄),效果完美。

唯一改變的是我最近安裝了 Virtualbox 和 Vagrant。我是否可能搞亂了本機電腦上的身份驗證/連接埠/等?

任何幫助是極大的讚賞。

答案1

999.999.99.9 上未安裝 rsync

答案2

我的問題是我將 cwrsync_6.2.1_x64 與 SSH_for_Windows_7.7p1、LibreSSL 2.6.5 結合使用,該版本預先安裝在 win10 2004 build 19041.685 中。

在 rsync 指令中,您需要指向特定 rsync 版本隨附的 ssh.exe。例如:

rsync -avHz -e "path_to\cwrsync_6.2.1_x64_free\bin\ssh.exe" --partial ...

答案3

當目標目錄不存在時,我收到此錯誤錯誤。對於來源資料檔案:/a/b/c/d/data, rsync -av -e ssh /a/b/c/d/ hostname:/a/b/c/d 需要目標目錄:hostname:/ a/ b/c 預先存在。

在閱讀手冊頁作為最後的手段時,我發現這是預期的行為。

答案4

使用 cygwin,我執行了“which rynsc”,結果是 cygwin 安裝程式提供的 rsync。我之前透過 Cygwin 安裝程式安裝了 rsync。然而,當我從 Cygwin 執行「which ssh」時,它指向 Windows 路徑的 ssh。因此,我退出 Cygwin,執行 cygwin 安裝程式並從 cygwin 安裝 ssh。完成此操作後,我再次執行了之前的兩個命令(rsync 和 ssh),兩個二進位檔案都指向 cygwin 二進位檔案。然後,當我從 cygwin 進行 rsync 時,它完全沒有任何問題。

相關內容