我在 LAN 上有一台机器,其中有一个 rsync 守护进程(在 Debian Squeeze 上),在默认端口 873 上运行,配置如下:
[sync]
path = /mnt/hux/WORK
read only = false
uid = dco
我将其连接如下:
rsync -az --delete --force --progress /path/to/stuff/ hostname::sync/stuff
效果很好。
现在,我在防火墙外有另一台服务器,该服务器阻止了端口 873。因此,我让 rsync 监听端口 443,但其他配置相同。但是,当我尝试像这样连接它时:
rsync -avvz --delete --force --progress /path/to/stuff/ hostname:443::sync/stuff
我懂了:
opening connection using: ssh hostname rsync --server -vvvlogDtprze.iLsf --delete --force . 443::sync/stuff
然后它要求我输入密码。有什么方法可以更改端口,而不让 rsync 假设我想使用 SSH?我只想使用 rsync,就像我在 LAN 上所做的那样。
答案1
使用
rsync -avvz .... /path/to/stuff/ rsync://hostname:443/sync/stuff
双冒号不支持端口符号。
答案2
尝试使用该--port=443
选项:
rsync -avvz --delete --port=443 --force --progress /path/to/stuff/ hostname::sync/stuff