通过远程 shell 连接进行 Rsync:服务器发送 rsync 日志消息而不是问候语

通过远程 shell 连接进行 Rsync:服务器发送 rsync 日志消息而不是问候语

我正在尝试通过远程 shell 连接从 Asustor NAS 运行 rsync 到我的 Ubuntu 服务器。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

相关内容