rsync 模块错误

rsync 模块错误

我有一个 rsync 服务器,但我无法列出模块或传输到模块。

以下工作正确:

rsync -v test.txt [email protected]:test

它将在用户的主目录中创建一个新文件“test”

以下操作无法正常工作:

rsync -v test.txt [email protected]::moduleA

rsync [email protected]::

它返回的是:

> rsync: failed to connect to host.com (*inet_ntop failed*):
> Connection refused (111) rsync error: error in socket IO (code 10) at
> clientserver.c(122) [sender=3.0.8]

在服务器上(使用 ssh)执行“rsync localhost::”会返回模块列表。但使用主机名执行命令时会出现与上述相同的错误。

有人能帮忙吗?谢谢

答案1

rsync 服务器使用自己的协议(在端口 873 上)进行连接,而不是 ssh。如果您只允许 ssh 进行 rsync 传输,则无法正常工作。您的防火墙是否阻止了端口 873?

请注意,如果您通过互联网执行此操作,则需要保护此流量。您可以使用 VPN 或使用选项设置远程 shell 连接--rsh。对于后者,请查看:

http://linux.die.net/man/1/rsync

然后转到“通过远程 shell 连接使用 Rsync-daemon 功能”部分。基本上,运行:

rsync -v test.txt --rsh=ssh [email protected]::moduleA或者可能(因为将针对 rsync 用户进行身份验证,而不是 ssh 用户)rsync -v -e "ssh -l user" test.txt [email protected]::moduleA[email protected]::moduleA

答案2

它与这个命令一起工作rsync -azve"ssh -l user" --rsync-path="sudo rsync" file.txt user@host::module

原因是选择--rsync-path="sudo rsync"

答案3

对我来说,我发现出现此错误是因为我的接收目录名称中有空格。因此“My Directory”不能用作接收目录。一旦我将其更改为“My_Directory”,错误就消失了。

相关内容