我需要对 Windows 上的 rsync 做什么才能使其在 Linux 上的文件名中保留特殊字符?

我需要对 Windows 上的 rsync 做什么才能使其在 Linux 上的文件名中保留特殊字符?

我们正在实施将所有服务器异地备份到远程 Linux 服务器的过程。我们通过rsyncSSH 进行备份。我发现 Linux 服务器上的 ñ、ö、ô 和 ã 等字符被下划线替换。我不介意它在文档的文件名中更改这些字符,但当它将语言包从 重命名为 时Español.clxEspa_ol.clx可能会给我们带来后续问题。

我当前的命令行是:

rsync -v -rlt -z --chmod=a=rw,Da+x -u --delete -e "ssh -i <keyfile>" <source> <destination>

我需要做些什么才能使特殊字符正确复制?

编辑:对于将在本地进行的初始同步,在将机器移出现场之前,我已启用 SAMBA。我能够将文件从 Windows 复制到 Samba 共享,保留原始文件名,尽管它在 Linux 目录列表中看起来有所不同,即têst变成têst。这些文件在 rsync 运行时会被删除,因为它与文件名不匹配。

答案1

添加参数

--iconv=ISO-8859-1,utf-8

看来问题已经解决了。

答案2

我使用通过 安装的 cygwin 的 rsync 3.1.2 来处理带有奇怪字符的文件setup-x86_64.exe,而不是使用 DeltaCopy 的 rsync,因为 DeltaCopy 的 rsync 似乎使用了过时的cygwin1.dll

相关内容