![如何安全地将文件从基于 Windows 的文件服务器同步到基于 Linux 的文件服务器?](https://linux22.com/image/524299/%E5%A6%82%E4%BD%95%E5%AE%89%E5%85%A8%E5%9C%B0%E5%B0%86%E6%96%87%E4%BB%B6%E4%BB%8E%E5%9F%BA%E4%BA%8E%20Windows%20%E7%9A%84%E6%96%87%E4%BB%B6%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%90%8C%E6%AD%A5%E5%88%B0%E5%9F%BA%E4%BA%8E%20Linux%20%E7%9A%84%E6%96%87%E4%BB%B6%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%9F.png)
我在公司防火墙后面有一个 Windows 文件器,在云安装中有一个基于 Linux 的文件器。
我一直在尝试使用 Cygwin 下的 rsync 和 ssh 通过 rsync-over-ssh-tunnel 将文件从 Windows 文件服务器传输到 Linux 文件服务器。我遇到了 Windows 及其不区分大小写的 NTFS 问题。
我运行的应用程序使用 Windows 文件管理器,当它们访问文件时,会改变 Windows 文件管理器上文件的大小写。例如:应用程序读取文件后,A.foo 将更改为 a.foo。从 Windows 应用程序的角度来看,这是可以接受的行为:在不区分大小写的文件系统上,A.foo 和 a.foo 是等效的。
但从同步的角度来看,这给我带来了麻烦。rsync 进程不会将 a.foo 视为已更改的 A.foo,而是将其视为一个全新的文件,并且在 rsync 发生后,我在基于 Linux 的文件管理器上最终得到了 A.foo 和 a.foo。
有没有更好的方法可以对 Windows 文件管理器上的文件和 Linux 文件管理器上的文件进行类似 rsync 的同步,并且这种方法与 rsync-over-ssh 方法一样安全,但没有文件大小写问题?
答案1
我认为 rsync 不能忽略大小写。齐奏有一个选项(当然它可以使用 ssh 进行传输)。我不知道它是否为 Cygwin 打包;它可以在 Windows 上本地运行。