有没有办法构建一个 Windows 服务器,并用 rsync 将其作为其他 Windows 文件服务器的目标?
答案1
虽然 MarkM 对 DFS-R 的看法很有道理,但如果你仍然想使用 rsync,那么同步是一款出色的 Windows 版 rsync,它包含客户端和服务器,还可以使用加密。我在 Windows 上使用此软件包已有多年。它运行良好,但(根据我的经验)有时文件传输时间可能比预期的要慢。
答案2
你想使用 rsync 有什么理由吗?如果我是你,我会选择原生的DFS-R内置于 Windows 的功能。
答案3
您可以使用以下方式轻松创建 Windows rsync 服务器赛格威使用 rsync 包。你只需要安装赛格威并确保包含 rsync(使用 setup-x86_64.exe 安装程序在“Net”类别下列出)。在 Cygwin 安装到您的服务器打开终端窗口/会话并执行以下操作:
创建 rsyncd.conf 文件服务器
在 rsyncd.conf 中添加配置信息,例如)
auth users = myuser secrets file = /home/myuser/rsyncd.secrets hosts allow = 192.168.1.2,192.168.1.8 log file = /home/myuser/rsyncd.log port = 8730 use chroot = yes read only = yes [Share1] path = /cygdrive/e/pathtofolder [Share2] path = /cygdrive/f/pathtofolder
修改配置以满足您的特定需求。创建 rsyncd.secrets 文件服务器并在文件 ex 中添加机密)
myuser:mysecretpassword
保护 rsyncd.secrets 文件服务器(还需要正确运行 rsync 守护进程)例如)
chmod 600 ./rsyncd.secrets
通过命令行测试/运行守护进程服务器前任)
rsync --daemon --config=/home/myuser/rsyncd.confg --no-detach
从以下位置测试 rsync 服务器连接客户安装了 rsync 的机器例如)
rsync -rdt rsync://myuser@rsyncserver:8730
命令应该列出可用的共享。测试 rsync 服务器身份验证客户机器(提示时输入密码)例如)
rsync -rdt rsync://myuser@rsyncserver:8730/Share1 Password:mysecretpassword
命令应列出指定共享中的所有文件。我还了解到在 Windows 上使用 Cygwin 和 rsync 时,你还需要更改 fstab 文件(通常位于 Windows 目录 C:\cygwin64\etc 中服务器或者客户)包含该
noacl
选项,否则您在同步时可能会遇到各种奇怪的文件权限问题。例如)
# /etc/fstab # # This file is read once by the first process in a Cygwin process tree. # To pick up changes, restart all Cygwin processes. For a description # see https://cygwin.com/cygwin-ug-net/using.html#mount-table # This is default anyway: none /cygdrive cygdrive binary,noacl,posix=0,user 0 0
如果发生任何错误,请检查服务器的 rsyncd.log(如配置的 /home/myuser/rsyncd.log)
参考:
答案4
使用 DeltaCopy -http://www.aboutmyip.com/AboutMyXApp/DeltaCopy.jsp