使用rsync从Windows传输到Linux

时间:2010-11-15 07:28:22

标签: windows linux rsync transfer

noob,

我正在尝试使用rsync从windows传输文件到linux。 我有这个代码,但我收到了错误

rsync -avz -e ssh C:\users\file.txt root@123.45.67.89:/var/dir

我收到此错误 源和目标不能同时是远程

如果我尝试

rsync -avz -e ssh /c/users/file.txt root@123.45.67.89:/var/dir

我知道, 没有这样的文件或目录

所以,我认为问题在于窗口上文件的路径..我听说过cygwin,但还没有真正尝试过它

我该怎样做才能让路径发挥作用?

3 个答案:

答案 0 :(得分:8)

如果您从Windows框中使用CygWin进行rsync,那么您想要的本地文件几乎可以肯定:

/cygdrive/c/users/file.txt

而不是:

/c/users/file.txt

答案 1 :(得分:1)

写正确的rsyncd.conf有点复杂。

我收到错误消息

  

@ERROR:chdir rsync错误:启动客户端 - 服务器时出错   main.c上的协议(代码5)(1296)[receiver = 2.6.8]

  

2012/06/10 14:59:43 [9252] rsync:chdir / cygdrive / d失败:没有这样的   文件或目录(2)

因为我错过了"use chroot = false"

中的rsyncd.conf指令

以下是rsyncd.conf的示例:

log file        = c:/rsync.log
auth users      = backup
secrets file    = /cygdrive/c/Program Files/RSync/rsyncd.secrets

[backup]
comment         = Backup this host
path            = /cygdrive/d
use chroot      = false
strict modes    = false
read only       = false
transfer logging = yes
hosts allow     = 192.168.2.252

确保在重新启动服务后创建/更改rsync.log文件,如果没有完成,您的rsyncd.conf文件中有一些错误,并且rsync没有使用它们但没有错误或信息显示出来了!

因此,rsyncd.secrets文件的格式为:

backup:<password>

答案 2 :(得分:0)

在 wsl2 环境中,间接使用 rsync 命令。