我正在寻找从ubuntu服务器和我的本地Windows机器使用rsync的帮助。我在本地机器上运行Cygwin64。我想在ubuntu服务器上执行rsync将文件移动到我的本地机器,但是我在如何指定目录和指定端口方面遇到了麻烦。我已经通过我的路由器将TCP和UDP流量的端口52000转发到运行Cygwin64的计算机上,并对该机器上的Windows防火墙设置进行了例外处理。
以下是我正在使用的代码部分,需要帮助
rsync --update -- ignore-existing --progress -vure ssh
我已经看到了可以指定我想要使用的端口的方法。我想在命令行中使用选项而不是更改我的ssh配置文件(不确定我是否需要在ubuntu服务器或运行Cygwin64的Windows机器上更改它)。我见过-p port,' ssh -port'和别的。如果我从ubuntu服务器或我的Windows机器运行rsync命令,我也不确定如何编写它。我怀疑只有当我从ubuntu服务器运行rsync命令时才需要它,以便rsync将使用端口52000连接到我的本地Windows机器。我怀疑,如果我试图在我的Windows Cygwin64机器上运行rsync并指定一个端口,那就像我的Cygwin64机器告诉ubuntu服务器打开哪个端口来ssh传入的流量,我怀疑服务器的所有者只是打开了交通的典型ssh端口(22对吗?)所以它只会说“没有”#39;并没有工作(我试过这个,它给了我一个错误 - 但也许我写错了命令行?)
这是我需要帮助的第二部分
[USER@]HOST:SRC DEST
目前,我可以在cygwin64中成功使用此格式和上述rsync命令行选项,将文件从ubuntu服务器提取到本地cygwin64驱动器。
/[user@host]:/home/[user]/downloads/1/ /cygdrive/e/1
如果我尝试更改ssh端口,这将需要如何更改? 如果我从ubuntu服务器运行rsync,我将如何更改它,因为我不知道我的windows64机器运行Cygwin64用户名或主机(我目前从我在美国的有线电视公司获得IPS)。
由于存在许多问题,请随时帮助所有人或仅一个人。
感谢。 -S
答案 0 :(得分:0)
你可以用
做到这一点rsync -e 'ssh -p 8022' -av --delete /path/to/source user@remote:/path/to/target
我在我的示例中使用了端口8022,并将-av --delete
选项添加到rsync,这是一种常见设置,如果您想多次同步两个文件夹。 (或者设置您的选项,如问题中所述。)
如果您可以使用IP地址xxx.xxx.xxx.xxx连接到本机的SSH服务器而不输入端口号,则可以使用以下命令:
rsync -e ssh -av --delete /path/to/source user@xxx.xxx.xxx.xxx:/path/to/target