透過遠端 shell 連線進行 Rsync:伺服器傳送 rsync 日誌訊息而不是問候語

透過遠端 shell 連線進行 Rsync:伺服器傳送 rsync 日誌訊息而不是問候語

我正在嘗試透過遠端 shell 連接從 Asustor NAS 到我的 Ubuntu 伺服器運行 rsync。 NAS 中的命令無法更改,因為它是從 Web 介面運行的。但我知道正在運行的命令,我可以手動測試它,這會出現錯誤。當我從 NAS 運行它時,它看起來像這樣:

$ /usr/builtin/bin/rsync -e "/usr/bin/ssh -l ssh-user-on-my-server -p 12345" --progress -a --timeout=60 rsync://[email protected]:873/rsync-module
[email protected]'s password: 
rsync: server sent "2017/01/17 19:38:58 [6920] connect from xxx-xxx-xxx-xxx-url-to-the-nas.com (xxx.xxx.xxx.xxx)" rather than greeting
rsync error: error starting client-server protocol (code 5) at /asustor/branch2_6_2016_09_22/x64_g1/source/rsync-3.0.9/main.c(1649) [Receiver=3.0.9]

我碰巧注意到上面的訊息看起來與 rsyncd 的日誌格式完全相同。這是在沒有 SSH 的情況下從 NAS 運行 rsync 到我的 Ubuntu 伺服器時 rsyncd 的輸出範例:

2017/01/06 23:42:13 [5979] connect from xxx-xxx-xxx-xxx-url-to-the-nas.com (xxx.xxx.xxx.xxx)
2017/01/06 22:42:13 [5979] rsync on rsync-module/ from [email protected] (xxx.xxx.xxx.xxx)
2017/01/06 22:42:13 [5979] building file list
2017/01/06 22:42:14 [5979] sent 172 bytes  received 24 bytes  total size

我已經驗證 SSH 和 rsync 都可以單獨工作,只有當我嘗試執行腳本(即透過遠端 shell 連線進行 rsync)時才會出現此問題。

這看起來很像更改主機 IP 後,使用 ssh 和 root 進行 Rsync 無法運作,但問題是有一條來自 的問候訊息.bashrc

答案1

我自己找到了答案。正如我所說,rsync 抱怨的輸出看起來與 rsync 日誌完全相同。問題出在我的身上rsyncd.conf。我透過為 rsync 服務建立一個 docker 來開始這個專案。為了從我的 docker 獲得回饋,我在設定檔中添加了以下行log file = /dev/stdout: rsync 守護程式將日誌直接列印到stdout!

相關內容