我有一个rsync服务器,我不能列出模块或传输到模块。
以下工作正确:
rsync -v test.txt [email protected]:test
这将是在用户的主目录中创build一个新的文件“testing”
以下不能正常工作:
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 ::”返回模块列表。 但是用主机名执行这个命令就会和上面的错误一样。
谁能帮忙? 谢谢
rsync服务器使用自己的协议(在端口873)进行连接,而不是SSH。 如果你只允许SSH的rsync传输,这是行不通的。 你的防火墙阻止端口873?
请注意,如果您通过互联网进行此操作,则需要保护此stream量。 您可以使用VPN或使用--rsh选项设置远程shell连接。 对于后者,请看看:
http://linux.die.net/man/1/rsync
然后转到“通过远程shell连接使用Rsync-daemonfunction”部分。 基本上运行:
rsync -v test.txt --rsh=ssh [email protected]::moduleA或者rsync -v -e "ssh -l user" test.txt [email protected]::moduleA (自[email protected]::moduleA将auth对rsync用户,而不是SSH用户)
它使用这个命令rsync -azve"ssh -l user" --rsync-path="sudo rsync" file.txt user@host::module
原因是选项--rsync-path="sudo rsync"
对我来说,我发现它给了这个错误,因为我的接收目录名称中有空格。 所以“我的目录”不能作为接收目录。 一旦我将其更改为“My_Directory”,错误消失了。