Windows 上的 RSync 仅包括某些文件夹

Windows 上的 RSync 仅包括某些文件夹

我们使用 rsync 将 IIS 日志文件从我们的 Web 服务器传输到我们的分析服务器。

当前有许多文件夹正在被转移,我们现在只需要转移某些文件夹:

Web 服务器文件夹结构上的日志文件示例:

D:\logfiles\asia\China\
D:\logfiles\asia\Singapore\
D:\logfiles\europe\Cyprus\
D:\logfiles\europe\Italy\
D:\logfiles\europe\Portugal\
D:\logfiles\europe\UK\
D:\logfiles\middle-east\Qatar\
D:\logfiles\middle-east\Dubai\

除了上面的例子之外,还有更多的文件夹。

举个例子,我只想传输欧洲的英国文件夹,而忽略塞浦路斯\意大利\葡萄牙,同时传输其他地区的文件夹。

我将以下内容放入文本文件中进行测试:

+ /europe/UK/

然后运行此命令:

"C:\Program Files (x86)\cwRsync\bin\rsync.exe" -vzut --include-from=/cygdrive/d/RSync/inclusions.txt -r 192.168.0.1::logfiles/ /cygdrive/d/logfiles/server1

但是,它仍然会传输每个文件夹!

我可以让--exclude-from=文件工作,但是由于有很多文件夹,我认为包含文件夹会更快,因为我只希望传输几个文件夹。

知道我做错了什么吗?

答案1

尝试+从包含文件中删除,并且使用正斜杠而不是反斜杠 - 我不完全确定(自从我在 Windows 上使用 rsync 以来已经很长时间了)但这应该可以解决您的问题。

答案2

我设法使用--from-file=具有以下内容示例的文件使其工作:

/europe/UK/
/asia/
/middle-east/

并不是说其他​​答案也不会起作用,我只是在尝试其他方法之前让它以这种方式工作。

相关内容