我在公司防火墙后面有一个 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 上本地运行。